/* ============================================
   Theme Variables (Laravel'den dönüştürüldü)
   ============================================ */
:root {
    /* Colors */
    --primary: #242424;
    --primary-second: #363636;
    --secondary: rgb(48.5, 48.5, 48.5);
    --success: #4CAF50;
    --success-hover: #45a049;
    --danger: #F44336;
    --white: #FFFFFF;
    --black: #000000;
    --light-gray: #e7e7e7;
    --lighter-gray: #ededed;
    --medium-gray: #e3e3e3;
    --dark-gray: #333333;
    --text-muted: #6c757d;
    --text-primary: #333333;
    --text-secondary: #666666;
    /* Typography */
    --font-family-base: 'Ubuntu', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --font-size-base: 0.875rem; /* 14px - küçültüldü */
    --line-height-base: 1.4;
    /* Layout */
    --header-height: 65px; /* 80px'den küçültüldü */
    --sidebar-width: 300px; /* 300px'den küçültüldü */
    --border-radius: 6px; /* 8px'den küçültüldü */
    /* Success button (tek merkezi stil) */
    /* Product Card */
    --card-bg: var(--white);
    --card-padding: 0.75rem; /* 1rem'den küçültüldü */
    --card-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    --hover-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    /* Price Tags */
    --price-color: #d01c42;
    --price-font-weight: 600;
    /* Navigation */
    --nav-bg: #d01c42;
    --nav-bg-dark: #820e2b;
    --nav-text: var(--white);
    --nav-active-bg: rgba(0, 0, 0, 0.3);
    /* Categories */
    --category-bg: var(--secondary);
    --category-text: var(--white);
    --category-active-bg: var(--nav-bg);
    /* Buttons */
    --btn-primary-bg: var(--primary);
    --btn-primary-text: var(--white);
    --btn-secondary-bg: var(--secondary);
    --btn-secondary-text: var(--white);
    /* Border */
    --border-color: rgba(0, 0, 0, 0.1);
}

/* ============================================
   Reset & Base Styles
   ============================================ */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    background: linear-gradient(135deg, #FF1744 0%, #DA2143 100%);
    min-height: 100%;
    height: 100%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    background: linear-gradient(135deg, #FF1744 0%, #DA2143 100%);
    overflow: hidden;
    transition: background 0.8s ease-in-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    min-height: 100%;
    height: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body input,
body textarea,
body [contenteditable="true"] {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

/* ========== App Switch (tek stil, tüm sayfalarda) ========== */
.app-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    flex-shrink: 0;
    vertical-align: middle;
}

/* Tıklama alanı: gizli input tüm kutuyu kaplar (label olmadan da çalışır; slider sadece görsel) */
.app-switch input,
.app-switch input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0;
    cursor: pointer;
    z-index: 2;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.app-switch input[type="checkbox"]::before {
    display: none !important;
    content: none !important;
}

.app-switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
    background-color: #b1b1b1;
    border-radius: 26px;
    transition: 0.25s ease;
    box-shadow:inset 0px 1px 5px rgba(0,0,0,0.6);
}

.app-switch-slider::before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 2px;
    top: 2px;
    background-color: #fff;
    border-radius: 50%;
    transition: 0.25s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.app-switch input:checked + .app-switch-slider,
.app-switch.is-checked .app-switch-slider {
    background-color: #22c55e;
}

.app-switch input:checked + .app-switch-slider::before,
.app-switch.is-checked .app-switch-slider::before {
    transform: translateX(22px);
}

.app-switch input:disabled + .app-switch-slider {
    opacity: 0.5;
    cursor: not-allowed;
}

.app-switch input:focus + .app-switch-slider {
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
}

/* Mini switch - genel kullanım (tablo satırı, sıkı alanlar) */
.app-switch--mini {
    width: 32px;
    height: 18px;
}
.app-switch--mini .app-switch-slider {
    border-radius: 18px;
}
.app-switch--mini .app-switch-slider::before {
    height: 14px;
    width: 14px;
    left: 2px;
    top: 2px;
}
.app-switch--mini input:checked + .app-switch-slider::before,
.app-switch--mini.is-checked .app-switch-slider::before {
    transform: translateX(14px);
}

.app-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color, #e8e8e8);
    gap: 12px;
    cursor: pointer;
}

.app-switch-row:last-child {
    border-bottom: none;
}

.app-switch-label {
    flex: 1;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.theme-dark .app-switch-slider {
    background-color: #6b7280;
}

.theme-dark .app-switch input:checked + .app-switch-slider,
.theme-dark .app-switch.is-checked .app-switch-slider {
    background-color: #22c55e;
}

body.app-loaded {
    background: var(--light-gray);
    transition: background 0.6s ease-in-out;
}

/* ========== Success butonları (tek merkezi stil - .btn-success) ========== */
.btn-success,
.order-actions .btn-save,
.btn-arrived,
.btn-reserve,
.btn-confirm,
.btn-close-day,
.btn-repeat-order,
.btn-online-approve,
.customers-toolbar .btn-new-customer,
.modal-container .button-primary,
.modal-container .btn-primary,
.modal-footer .btn-primary,
.modal-footer .btn.btn-primary,
.btn.btn-primary {
    background-color: var(--success) !important;
    color: var(--white) !important;
    border: none;
}

.btn-success:hover:not(:disabled),
.order-actions .btn-save:hover,
.btn-arrived:hover,
.btn-reserve:hover,
.btn-confirm:hover:not(:disabled),
.btn-close-day:hover,
.btn-repeat-order:hover,
.btn-online-approve:hover,
.customers-toolbar .btn-new-customer:hover,
.modal-container .button-primary:hover:not(:disabled),
.modal-container .btn-primary:hover:not(:disabled),
.modal-footer .btn-primary:hover:not(:disabled),
.btn.btn-primary:hover:not(:disabled) {
    background-color: var(--success-hover) !important;
}

/* Tüm yazılar için Ubuntu fontu (ikonlar hariç) - Genel kural */
* {
    font-family: var(--font-family-base) !important;
}

/* Font Awesome ikonlarını koru */
i, .fa, .fas, .far, .fal, .fab, .fad, [class^="fa-"], [class*=" fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 6 Pro" !important;
}

/* ============================================
   Login to App Transition Animations
   ============================================ */

/* Login Screen Fade Out */
.login-fade-leave-active {
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.login-fade-leave-to {
    opacity: 0;
    transform: scale(0.95);
}

.login-fade-leave-from {
    opacity: 1;
    transform: scale(1);
}

/* App Slide In */
.app-slide-enter-active {
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    transition-delay: 0.2s;
}

.app-slide-enter-from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
}

.app-slide-enter-to {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.app-slide-leave-active {
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.app-slide-leave-from {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.app-slide-leave-to {
    opacity: 0;
    transform: translateY(-30px) scale(0.98);
}

/* ============================================
   Custom Title Bar
   ============================================ */
.custom-title-bar {
    position: relative;
    height: 32px;
    min-height: 32px;
    background: linear-gradient(45deg, var(--primary-second) 0%, var(--primary) 100%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    /* z-index: 100; */
    user-select: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.title-bar-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    -webkit-app-region: no-drag;
}

/* Bağlantı Durumu Göstergesi */
.title-bar-status-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
}

.title-bar-status-indicator--clickable {
    cursor: pointer;
    -webkit-app-region: no-drag;
}

.title-bar-socket-wrap {
    position: relative;
    display: flex;
    align-items: center;
    -webkit-app-region: no-drag;
}

.title-bar-socket-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 10050;
    width: 340px;
    max-width: min(340px, 92vw);
    max-height: 70vh;
    overflow: auto;
    padding: 12px 14px;
    background: #1e1e24;
    color: #f0f0f0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
    font-size: 12px;
    line-height: 1.35;
    -webkit-app-region: no-drag;
}

.title-bar-socket-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.title-bar-socket-panel__refresh {
    border: none;
    background: transparent;
    color: #bbb;
    cursor: pointer;
    padding: 2px 6px;
}

.title-bar-socket-panel__refresh:hover { color: #fff; }

.title-bar-socket-panel__row {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 8px;
    margin-bottom: 6px;
}

.title-bar-socket-panel__row > span { color: #9aa0a6; }
.title-bar-socket-panel__row > b { font-weight: 600; word-break: break-word; }
.title-bar-socket-panel__row > b.ok { color: #81c784; }
.title-bar-socket-panel__row > b.bad { color: #ef9a9a; }
.title-bar-socket-panel__row > b.mono { font-family: Consolas, monospace; font-size: 11px; }

.title-bar-socket-panel__hint {
    margin: 8px 0 0;
    padding: 8px;
    background: rgba(255, 193, 7, 0.12);
    border-radius: 6px;
    color: #ffe082;
}

.title-bar-socket-panel__hist {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.title-bar-socket-panel__hist-title {
    font-weight: 700;
    margin-bottom: 6px;
    color: #cfd8dc;
}

.title-bar-socket-panel__hist-row {
    display: grid;
    grid-template-columns: 118px 1fr;
    gap: 6px;
    margin-bottom: 4px;
    font-size: 11px;
    color: #b0b0b0;
}

.title-bar-status-indicator + .title-bar-status-indicator {
    margin-left: 6px;
}

.title-bar-socket-wrap + .title-bar-status-indicator {
    margin-left: 6px;
}

.title-bar-patron-sync + .title-bar-offline-grace {
    margin-left: 6px;
}

.title-bar-status-indicator + .title-bar-offline-grace {
    margin-left: 8px;
}

.title-bar-offline-grace {
    margin-left: 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    color: var(--text-muted, #888);
    white-space: nowrap;
    cursor: default;
    user-select: none;
    -webkit-app-region: no-drag;
}

.title-bar-offline-grace--warn {
    color: #e65100;
}

.title-bar-offline-grace--critical {
    color: #c62828;
}

.title-bar-billing-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-right: 0.35rem;
    padding: 0.28rem 0.65rem;
    border: none;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    -webkit-app-region: no-drag;
    transition: filter 0.15s ease, transform 0.1s ease;
}
.title-bar-billing-pill:hover {
    filter: brightness(0.96);
}
.title-bar-billing-pill:active {
    transform: scale(0.98);
}
.title-bar-billing-pill--green {
    background: #dcfce7;
    color: #166534;
}
.title-bar-billing-pill--yellow {
    background: #fef3c7;
    color: #92400e;
}
.title-bar-billing-pill--red {
    background: #fee2e2;
    color: #991b1b;
}
.theme-dark .title-bar-billing-pill--green {
    background: rgba(22, 101, 52, 0.35);
    color: #bbf7d0;
}
.theme-dark .title-bar-billing-pill--yellow {
    background: rgba(146, 64, 14, 0.35);
    color: #fde68a;
}
.theme-dark .title-bar-billing-pill--red {
    background: rgba(153, 27, 27, 0.35);
    color: #fecaca;
}

.modal-overlay .modal-container.yazarkasa-add-modal {
    max-width: 420px;
    width: calc(100% - 2rem);
}

/* Ayarlar ve benzeri kısa formlar: tam genişlik yerine okunaklı dar modal */
.modal-overlay .modal-container.modal-compact,
.modal-container.modal-compact {
    width: calc(100% - 2rem);
    max-width: 420px;
}

.modal-overlay .modal-container.modal-compact-sm,
.modal-container.modal-compact-sm {
    width: calc(100% - 2rem);
    max-width: 360px;
}

.modal-overlay .modal-container.modal-container--address,
.modal-container.modal-container--address {
    width: calc(100% - 2rem);
    max-width: 400px;
}

.yazarkasa-add-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem 0.85rem;
    align-items: start;
}

.yazarkasa-add-form-row .form-group {
    margin-bottom: 0;
}

@media (max-width: 480px) {
    .yazarkasa-add-form-row {
        grid-template-columns: 1fr;
    }
}

.status-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    flex-shrink: 0;
}

.status-dot.status-connected {
    background-color: #4CAF50;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.6);
}

.status-dot.status-disconnected {
    background-color: #9E9E9E;
    opacity: 0.5;
}

/* PrintServer göstergesi: turkuaz = dinliyor (0.0.0.0:54321), gri = kapalı */
.status-dot.status-printserver {
    background-color: #40E0D0;
    box-shadow: 0 0 8px rgba(64, 224, 208, 0.6);
}

.status-dot.status-printserver-off {
    background-color: #9E9E9E;
    opacity: 0.5;
}

.status-dot.status-printserver-pulse {
    animation: print-server-blink 0.38s ease-in-out 2;
}

@keyframes print-server-blink {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 0 8px rgba(64, 224, 208, 0.6);
    }
    50% {
        opacity: 0.2;
        transform: scale(1.4);
        box-shadow: 0 0 14px rgba(64, 224, 208, 1);
    }
}

/* Yerel ağ UDP POS senkronu: gri=kapalı, turuncu=dinleniyor/eş yok, mor=son 2 dk başka kasa */
.status-dot.status-lan-off {
    background-color: #9E9E9E;
    opacity: 0.45;
}

.status-dot.status-lan-wait {
    background-color: #FF9800;
    box-shadow: 0 0 6px rgba(255, 152, 0, 0.45);
}

.status-dot.status-lan-peer {
    background-color: #7C4DFF;
    box-shadow: 0 0 8px rgba(124, 77, 255, 0.55);
}

/* Patron sync göstergesi (lider Watcher) */
.title-bar-patron-sync {
    position: relative;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: help;
    margin-left: 6px;
    color: rgba(255, 255, 255, 0.35);
    overflow: visible;
    -webkit-app-region: no-drag;
}

.custom-title-bar,
.title-bar-left {
    overflow: visible;
}

.title-bar-patron-sync--running {
    color: rgba(255, 255, 255, 0.95);
}

.patron-sync-ring {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    display: block;
    animation: patron-sync-spin 0.85s linear infinite;
}

.patron-sync-ring-bg {
    fill: none;
    stroke: rgba(255, 255, 255, 0.28);
    stroke-width: 2;
}

.patron-sync-ring-arc {
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 14 28;
}

@keyframes patron-sync-spin {
    to { transform: rotate(360deg); }
}

.title-bar-patron-sync .patron-sync-ok {
    font-size: 10px;
    line-height: 1;
    color: #fff;
}

.patron-sync-tooltip {
    position: absolute;
    left: 50%;
    top: calc(100% + 6px);
    transform: translateX(-50%);
    z-index: 99999;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.3;
    padding: 5px 9px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.88);
    color: #fff;
    pointer-events: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.title-bar-logo {
    display: flex;
    align-items: center;
    height: 24px;
}

.title-bar-logo img {
    height: 24px;
    width: auto;
}

/* Sol panel gizliyken title bar'da gösterilen küçük logo (yüksekliği bozmaz) */
.title-bar-logo-compact {
    display: flex;
    align-items: center;
    height: 100%;
    height: 22px;
    flex-shrink: 0;
    margin-right: 0.25rem;
}

.title-bar-logo-compact img {
    height: 100%;
    max-height: 22px;
    width: auto;
    object-fit: contain;
    opacity: 0.95;
}

.title-bar-text {
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.title-bar-business-name {
    display: inline-block;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.82rem;
    font-weight: 300;
    letter-spacing: 0.02em;
    max-width: min(36vw, 22rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    margin-right: 0.45rem;
    -webkit-app-region: no-drag;
    user-select: none;
    cursor: default;
}

.title-bar-version {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.7rem;
    font-weight: 400;
    margin-left: 0.5rem;
}

.title-bar-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    -webkit-app-region: no-drag;
    position: relative;
    /* z-index: 100; */
}

.title-bar-info {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    position: relative;
    /* z-index: 100; */
    overflow: visible;
}

.title-bar-info > * {
    position: relative;
}

/* Üst şerit: ikon yanındaki metin hover'da soldan sağa kayarak açılır (max-width + transform) */
.custom-title-bar .title-bar-btn-label {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    transform: translate3d(-14px, 0, 0);
    margin-left: 0;
    transition:
        max-width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.32s ease,
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        margin-left 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    font-size: 0.8rem;
    font-weight: 500;
    pointer-events: none;
}

.title-bar-support-btn {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.title-bar-support-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    padding-right: 0.75rem;
}

.title-bar-support-btn:hover .title-bar-btn-label,
.title-bar-pos-view-settings:hover .title-bar-btn-label,
.title-bar-notification:hover .title-bar-btn-label,
.title-bar-language:hover .title-bar-btn-label,
.title-bar-theme:hover .title-bar-btn-label {
    max-width: 220px;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    margin-left: 0.35rem;
}

/* Hızlı satış görünüm ayarları butonu (sadece POS sayfasında fade ile görünür) */
.title-bar-pos-view-settings {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background 0.2s, padding 0.3s ease;
    font-size: 0.85rem;
    white-space: nowrap;
}
.title-bar-pos-view-settings:hover {
    background: rgba(255, 255, 255, 0.1);
    padding-right: 0.75rem;
}
.title-bar-fade-enter-active,
.title-bar-fade-leave-active {
    transition: opacity 0.2s ease;
}
/* Vue 2 */
.title-bar-fade-enter,
.title-bar-fade-leave-to {
    opacity: 0;
}
.title-bar-fade-enter-to,
.title-bar-fade-leave {
    opacity: 1;
}
/* Vue 3 */
.title-bar-fade-enter-from,
.title-bar-fade-leave-to {
    opacity: 0;
}
.title-bar-fade-enter-to,
.title-bar-fade-leave-from {
    opacity: 1;
}

.title-bar-notification {
    position: relative;
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    overflow: hidden;
    white-space: nowrap;
}

.title-bar-notification:hover {
    background: rgba(255, 255, 255, 0.1);
    padding-right: 0.75rem;
}

.notification-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    background: #FF1744;
    color: white;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15rem 0.35rem;
    border-radius: 10px;
    min-width: 16px;
    text-align: center;
    line-height: 1;
    border: 2px solid #8B1538;
}

/* Yeni bildirim göstergesi: sarı nokta */
.title-bar-notification-wrap { position: relative; overflow: visible; }
.notification-badge-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    padding: 0;
    min-width: 0;
    background: #FFC107;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 50%;
}

.title-bar-notification-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.25rem;
    min-width: 280px;
    max-width: 360px;
    max-height: 70vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: rgba(28, 28, 32, 0.88);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--border-radius, 8px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    z-index: 9999;
}
.title-bar-notification-dropdown-title {
    padding: 0.6rem 0.75rem;
    font-weight: 600;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.title-bar-notification-empty {
    padding: 1rem 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
}
.title-bar-notification-list {
    padding: 0.25rem 0;
    overflow-y: auto;
    max-height: 50vh;
}
.title-bar-notification-item {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    transition: background 0.15s;
    color: rgba(255, 255, 255, 0.9);
}
.title-bar-notification-item:hover { background: rgba(255, 255, 255, 0.08); }
.title-bar-notification-item.unread { background: rgba(255, 193, 7, 0.12); }
.title-bar-notification-item-title { display: block; font-weight: 600; font-size: 0.85rem; }
.title-bar-notification-item-body { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.title-bar-notification-dropdown-footer {
    padding: 0.4rem 0.75rem;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    transition: background 0.15s, color 0.15s;
}
.title-bar-notification-dropdown-footer:hover {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.75);
}

.title-bar-user {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.8rem;
    position: relative;
}

.title-bar-user:hover {
    background: rgba(255, 255, 255, 0.1);
}

.title-bar-user i:first-child {
    font-size: 1rem;
}

.title-bar-user .user-name {
    font-weight: 500;
    display: inline-block;
    vertical-align: middle;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transform: translate3d(-12px, 0, 0);
    transition:
        max-width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.32s ease,
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.title-bar-user:hover .user-name {
    max-width: 160px;
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.title-bar-user i:last-child {
    font-size: 0.7rem;
    opacity: 0.7;
}

/* Profil Menüsü */
.title-bar-user-menu {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    z-index: 10000;
    overflow: hidden;
    animation: slideDown 0.2s ease-out;
    margin-top: 0;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.user-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background 0.2s;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.user-menu-item:hover {
    background: var(--light-gray);
}

.user-menu-item i {
    width: 18px;
    text-align: center;
    color: var(--text-muted);
}

.user-menu-item.user-menu-primary {
    font-weight: 600;
    color: var(--primary);
}

.user-menu-item.user-menu-primary i {
    color: var(--primary);
}

.user-menu-divider {
    height: 1px;
    background: var(--border-color);
    margin: 0.25rem 0;
}

/* Dil ve Tema Seçim Butonları */
.title-bar-language,
.title-bar-theme {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.85rem;
    position: relative;
    overflow: visible;
    white-space: nowrap;
    /* z-index: 100; */
}

.title-bar-language:hover,
.title-bar-theme:hover {
    background: rgba(255, 255, 255, 0.1);
    padding-right: 0.75rem;
}

.title-bar-language .language-code {
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 24px;
    text-align: center;
    flex-shrink: 0;
}

/* Dil Seçim Menüsü */
.title-bar-language-menu {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 150px;
    z-index: 10000;
    overflow: hidden;
    animation: slideDown 0.2s ease-out;
    margin-top: 0;
}

.language-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background 0.2s;
    color: var(--text-primary);
    font-size: 0.9rem;
    position: relative;
}

.language-menu-item:hover {
    background: var(--light-gray);
}

.language-menu-item.active {
    background: rgba(255, 23, 68, 0.1);
    color: var(--primary);
    font-weight: 600;
}

.language-menu-item i.fa-check {
    position: absolute;
    right: 1rem;
    color: var(--primary);
}

/* Tema Seçim Menüsü */
.title-bar-theme-menu {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 150px;
    z-index: 10000;
    overflow: hidden;
    animation: slideDown 0.2s ease-out;
    margin-top: 0;
}

.theme-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background 0.2s;
    color: var(--text-primary);
    font-size: 0.9rem;
    position: relative;
}

.theme-menu-item:hover {
    background: var(--light-gray);
}

.theme-menu-item.active {
    background: rgba(255, 23, 68, 0.1);
    color: var(--primary);
    font-weight: 600;
}

.theme-menu-item i.fa-check {
    position: absolute;
    right: 1rem;
    color: var(--primary);
}

.theme-menu-item i:first-child {
    width: 18px;
    text-align: center;
    color: var(--text-muted);
}

/* Tema Stilleri - İlk açılışta kırmızı yanıp sönmesin diye theme-light/dark/custom head script ile set edilir */
.theme-light html,
.theme-light body {
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%) !important;
}
/* Varsayılan Malleria temasında loading screen kırmızı gradient (login gelene kadar) */
.theme-light .loading-screen {
    background: linear-gradient(135deg, #FF1744 0%, #DA2143 100%) !important;
}
.theme-light .loading-screen::before {
    background: linear-gradient(135deg, #FF1744 0%, #DA2143 50%, #C2185B 100%) !important;
    background-size: 200% 200%;
}/* İşletme (.theme-custom): aşağıda patrondan gelen CSS değişkenleri */

.theme-dark{
    /* Koyu mod renkleri */
    --primary: #FF1744;
    --secondary: #2c2c2c;
    --white: #1e1e1e;
    --black: #ffffff;
    --light-gray: #2a2a2a;
    --dark-gray: #e0e0e0;
    --text-muted: #a0a0a0;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --card-bg: #252525;
    --border-color: #404040;
}

.theme-dark body,
.theme-dark html {
    background-color: #1e1e1e !important;
    color: #e0e0e0;
}

.theme-dark .loading-screen {
    background-color: #1e1e1e !important;
}

.theme-dark .loading-screen::before {
    background: linear-gradient(135deg, #2a2a2a 0%, #1e1e1e 50%, #252525 100%) !important;
}

.theme-dark .custom-title-bar {
    background: linear-gradient(135deg, #ab223b 0%, #8b1a2f 100%);
}

.theme-dark .order-item,
.theme-dark .customer-card,
.theme-dark .call-card {
    background-color: #252525;
    color: #e0e0e0;
}

.theme-dark .title-bar-user-menu,
.theme-dark .title-bar-language-menu,
.theme-dark .title-bar-theme-menu {
    background: #2a2a2a;
    color: #e0e0e0;
}

.theme-dark .user-menu-item,
.theme-dark .language-menu-item,
.theme-dark .theme-menu-item {
    color: #e0e0e0;
}

.theme-dark .user-menu-item:hover,
.theme-dark .language-menu-item:hover,
.theme-dark .theme-menu-item:hover {
    background: #333333;
}

/* Koyu mod için genel text color kuralları */
.theme-dark .product-card,
.theme-dark .table-card,
.theme-dark .order-item,
.theme-dark .customer-card,
.theme-dark .call-card,
.theme-dark .modal-container,
.theme-dark .form-group label,
.theme-dark .form-group input,
.theme-dark .form-group textarea,
.theme-dark .panel-header h2,
.theme-dark .panel-header h3,
.theme-dark h1,
.theme-dark h2,
.theme-dark h3,
.theme-dark h4,
.theme-dark h5,
.theme-dark h6,
.theme-dark p,
.theme-dark span:not(.nav-item span),
.theme-dark label,
.theme-dark .info-group label,
.theme-dark .summary-row,
.theme-dark .address-title,
.theme-dark .product-info h3,
.theme-dark .order-header h2,
.theme-dark .sales-header h1,
.theme-dark .discount-section h3,
.theme-dark .transfer-product-list-header h3,
.theme-dark .modal-title,
.theme-dark .calls-summary-count,
.theme-dark .empty-state p,
.theme-dark .empty-order p,
.theme-dark .call-info .caller,
.theme-dark .customer-header h3,
.theme-dark .no-customer-content h3,
.theme-dark .no-customer-content p,
.theme-dark .no-selection p,
.theme-dark .orders-section-title,
.theme-dark .recent-call .call-date,
.theme-dark .payment-method-btn:not([class*="payment-"]) span {
    color: var(--text-primary);
}
.theme-dark .payment-method-btn[class*="payment-nakit"] span,
.theme-dark .payment-method-btn[class*="payment-card"] span,
.theme-dark .payment-method-btn[class*="payment-havale"] span,
.theme-dark .payment-method-btn[class*="payment-wallet"] span,
.theme-dark .payment-method-btn[class*="payment-meal"] span,
.theme-dark .payment-method-btn[class*="payment-separate"] span,
.theme-dark .payment-method-btn[class*="payment-partial"] span,
.theme-dark .payment-method-btn[class*="payment-credit"] span {
    color: inherit;
}

/* ========== Bonavias + işletme (custom): varsayılan değişkenler (Patron paleti theme.js ile güncellenir) ========== */
.theme-custom {
    --primary: #6D4C41;
    --primary-second: #895c50;
    --nav-bg: #5D4037;
    --category-active-bg: #6D4C41;
    --btn-primary-bg: #6D4C41;
    --price-color: #6D4C41;
}.theme-custom .table-group-btn.active{
    background: var(--primary);
}

/* İşletme (custom): sabit hex yok — Patron paleti (theme.js) ile gelen CSS değişkenleri */
.theme-custom body,
.theme-custom html {
    background: linear-gradient(135deg, var(--primary-second) 0%, var(--primary) 50%, var(--nav-bg) 100%) !important;
}

.theme-custom .custom-title-bar {
    background: linear-gradient(120deg, var(--primary-second) 0%, var(--nav-bg) 100%, var(--primary) 100%) !important;
}

.theme-custom .loading-screen {
    background: linear-gradient(135deg, var(--primary-second) 0%, var(--primary) 100%) !important;
}

.theme-custom .loading-screen::before {
    background: linear-gradient(135deg, var(--primary-second) 0%, var(--primary) 50%, var(--nav-bg) 100%) !important;
}

.theme-custom .login-screen {
    background: linear-gradient(135deg, var(--primary-second) 0%, var(--primary) 100%) !important;
}

.theme-custom .login-screen::before {
    background: linear-gradient(135deg, var(--primary-second) 0%, var(--nav-bg) 50%, var(--primary) 100%) !important;
}

.theme-custom .triangle-left-corner {
    border-color: transparent transparent var(--primary-second) transparent;
}

.theme-custom .triangle-top-right {
    border-color: var(--primary) transparent transparent transparent;
}

.theme-custom .login-btn-primary {
    background: linear-gradient(135deg, var(--nav-bg) 0%, var(--primary) 50%, var(--primary-second) 100%) !important;
}

.theme-custom .login-btn-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, var(--primary) 0%, var(--nav-bg) 100%) !important;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--primary) 45%, transparent);
}

.theme-custom .nav-item.active,
.theme-custom .nav-item:hover {
    background: rgba(0, 0, 0, 0.3);
    color: var(--white);
}

.theme-custom .top-navigation {
    background: linear-gradient(0deg, var(--primary) 0%, var(--nav-bg) 100%);
    border-bottom: 1px solid color-mix(in srgb, var(--primary-second) 70%, #888);
}

.theme-custom .payment-method-btn.payment-primary,
.theme-custom .payment-method-btn.payment-nakit,
.theme-custom .payment-method-btn.payment-card {
    border-color: var(--primary);
}

.theme-custom .payment-method-btn.payment-nakit:hover,
.theme-custom .payment-method-btn.payment-card:hover {
    background: color-mix(in srgb, var(--primary) 18%, transparent);
    border-color: var(--nav-bg);
}

.theme-custom .user-menu-item.user-menu-primary,
.theme-custom .user-menu-item.user-menu-primary i {
    color: var(--primary);
}

.theme-custom .theme-menu-item.active {
    color: var(--primary);
}

.theme-custom .theme-menu-item i.fa-check {
    color: var(--primary);
}.theme-custom .categories-bar,
.theme-custom .pos-categories-bar{
    /*background: linear-gradient(135deg, #5D4037 0%, #4E342E 100%);*/
}

.theme-custom .category-btn.active {
    background: var(--category-active-bg);
}

/* Genel .category-btn:hover (#3a3a3a) işletme paletini ezer */
.theme-custom .category-btn:hover:not(.active) {
    background: color-mix(in srgb, var(--primary) 85%, #000);
}

.theme-custom .sidebar-header,
.theme-custom .order-panel-header {
    background: linear-gradient(to bottom, var(--primary-second) 0%, var(--primary) 100%);
}.theme-custom .order-panel-header::after{
    background: linear-gradient(to bottom, var(--primary) 50%, var(--light-gray) 50%);
}

.theme-custom .order-item-divider {
    border-left-color: var(--primary);
}

.theme-custom .product-card .product-price,
.theme-custom .table-card .table-number {
    color: var(--price-color);
}

.theme-custom .btn-primary {
    background-color: var(--btn-primary-bg);
    border-color: var(--nav-bg);
}

.theme-custom .btn-primary:hover {
    background-color: color-mix(in srgb, var(--btn-primary-bg) 88%, #000);
    border-color: color-mix(in srgb, var(--nav-bg) 90%, #000);
}

.theme-custom .app-switch input:focus + .app-switch-slider {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 35%, transparent);
}

.title-bar-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    -webkit-app-region: no-drag;
}

.title-bar-btn {
    width: 40px;
    height: 28px;
    border: none;
    background: transparent;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.8rem;
    padding: 0;
}

.title-bar-btn:hover {
    background: rgba(0, 0, 0, 0.2);
}

.title-bar-btn:active {
    background: rgba(255, 255, 255, 0.2);
}

/* ============================================
   Loading Screen
   ============================================ */
.loading-screen {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999; /* En üstte olmalı */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    transition: opacity 0.5s ease-out;
    overflow: hidden;
}

.loading-screen::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(135deg, #FF1744 0%, #DA2143 50%, #C2185B 100%);
    background-size: 200% 200%;
    z-index: -1;
}

.loading-screen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.06) 0%, transparent 40%),
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.04) 0%, transparent 50%);
    animation: none;
    opacity: 0.6;
}

/* Loading Screen - Minimal Background Effects */

.loading-screen.hidden {
    opacity: 0;
    pointer-events: none;
}

.loading-content {
    text-align: center;
    color: white;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.loading-logo {
    margin-bottom: 2rem;
    animation: none;
}

.loading-logo img {
    width: 400px;
    height: auto;
}

.loading-spinner {
    margin: 2rem 0;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto;
}

.loading-text {
    font-size: 1.2rem;
    font-weight: 500;
    margin-top: 1rem;
    animation: none;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Hareket Eden Ribbonlar */
@keyframes ribbonMove {
    0% {
        transform: translateX(-100%) translateY(-50%) rotate(-45deg);
    }
    100% {
        transform: translateX(calc(100vw + 100%)) translateY(-50%) rotate(-45deg);
    }
}

@keyframes ribbonMoveReverse {
    0% {
        transform: translateX(calc(100vw + 100%)) translateY(-50%) rotate(45deg);
    }
    100% {
        transform: translateX(-100%) translateY(-50%) rotate(45deg);
    }
}

@keyframes ribbonMoveVertical {
    0% {
        transform: translateY(-100%) translateX(-50%) rotate(0deg);
    }
    100% {
        transform: translateY(calc(100vh + 100%)) translateX(-50%) rotate(0deg);
    }
}

/* Dalgalı hareket animasyonları */
@keyframes ribbonWave {
    0%, 100% {
        transform: translateY(0) rotate(-45deg);
    }
    25% {
        transform: translateY(-8px) rotate(-45deg);
    }
    50% {
        transform: translateY(0) rotate(-45deg);
    }
    75% {
        transform: translateY(8px) rotate(-45deg);
    }
}

@keyframes ribbonWaveVertical {
    0%, 100% {
        transform: translateX(0) rotate(0deg);
    }
    25% {
        transform: translateX(-8px) rotate(0deg);
    }
    50% {
        transform: translateX(0) rotate(0deg);
    }
    75% {
        transform: translateX(8px) rotate(0deg);
    }
}

@keyframes gentlePulse {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }
}

@keyframes gentleDrift {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(3%, 3%);
    }
}

/* ============================================
   Login Screen - Split Screen Design
   ============================================ */
.login-screen {
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-second) 100%);
}

.login-screen::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(135deg, var(primary) 0%, var(--primary-second) 100%);
    background-size: 200% 200%;
    z-index: -1;
}

.login-screen::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 60% 40%, rgba(255, 255, 255, 0.05) 0%, transparent 35%),
        radial-gradient(circle at 40% 80%, rgba(255, 255, 255, 0.04) 0%, transparent 35%);
    animation: none;
    opacity: 0.5;
}

/* Login Screen Triangle Shapes */
.triangle-left-corner {
    width: 0;
    position: absolute;
    height: 0;
    left: 0;
    bottom: 0;
    border-style: solid;
    border-width: 0px 450px 450px 0px;
    border-color: transparent transparent var(--nav-bg) transparent;
    transform: rotate(0deg);
}

.triangle-top-right {
    width: 0;
    right: 0;
    top: 0;
    position: absolute;
    height: 0;
    border-style: solid;
    border-width: 450px 0px 0px 450px;
    border-color: var(--nav-bg) transparent transparent transparent;
    transform: rotate(0deg);
}

/* Login Screen - Minimal Background Effects */

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.8;
    }
}

.login-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1400px;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    animation: none;
}

/* Floating shapes for background animation */
.loading-screen .shape,
.login-screen .shape {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    pointer-events: none;
    z-index: 0;
}

.loading-screen .shape-1,
.login-screen .shape-1 {
    width: 300px;
    height: 300px;
    top: 10%;
    left: 10%;
    animation: none;
}

.loading-screen .shape-2,
.login-screen .shape-2 {
    width: 200px;
    height: 200px;
    top: 60%;
    right: 15%;
    animation: none;
}

.loading-screen .shape-3,
.login-screen .shape-3 {
    width: 150px;
    height: 150px;
    bottom: 20%;
    left: 20%;
    animation: none;
}

.loading-screen .shape-4,
.login-screen .shape-4 {
    width: 250px;
    height: 250px;
    top: 30%;
    right: 30%;
    animation: none;
}

/* Sürüm numarası - login/loading ekranında sağ alt köşe */
.login-version-badge {
    position: absolute;
    bottom: 14px;
    right: 14px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    pointer-events: none;
    z-index: 10;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Left Panel - Logo */
.login-left-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    position: relative;
}

.login-logo-wrapper {
    text-align: center;
    animation: none;
}

@keyframes logoSlideIn {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.login-logo {
    animation: logoFloat 4s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-15px) scale(1.02);
    }
}

.login-logo img {
    width: 390px;
    height: auto;
    filter: drop-shadow(0 8px 6px rgba(0,0,0,0.35));
}

.login-module-subtitle {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0.75rem;
    text-align: center;
    font-size: clamp(1.15rem, 2.4vw, 1.45rem);
    font-weight: 800;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    /* Navbar / marka rengi — custom temada da zıtlık sağlar (--primary koyu olabiliyor) */
    color: var(--nav-bg, #d01c42);
    opacity: 1;
    text-shadow: none;
    padding-right: 0.42em;
}

.login-btn-servant-exit {
    margin-top: 0.35rem;
}

.login-round-btn-servant-exit {
    border-color: rgba(218, 33, 67, 0.55);
    background: rgba(218, 33, 67, 0.22);
}
.login-round-btn-servant-exit:hover:not(:disabled) {
    background: rgba(218, 33, 67, 0.35);
}

/* New Login Layout - logo sol giriş sütununun üstünde, numpad giriş panelinin uzantısı */
.login-container-new {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 920px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    animation: none;
}

.login-form-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: min(860px, 100%);
    max-width: 860px;
}

.login-logo-banner {
    width: 100%;
    flex-shrink: 0;
    text-align: center;
    align-self: center;
    margin-bottom: 0;
    grid-column: 1;
    grid-row: 1;
}

.login-logo-banner .login-logo-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
}

.login-logo-banner .login-logo {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-logo-banner .login-logo img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.login-auth-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 1.5rem;
    row-gap: 1.85rem;
    align-items: start;
    width: 100%;
    max-width: 820px;
    margin-inline: auto;
    box-sizing: border-box;
}

.login-auth-mode-toggle--compact {
    position: absolute;
    top: -2.15rem;
    right: 0.15rem;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.15rem;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    pointer-events: auto;
}

.login-auth-mode-toggle--compact .login-auth-mode-btn {
    width: 2rem;
    height: 2rem;
    min-width: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: rgba(255, 255, 255, 0.42);
    font-size: 1.05rem;
    flex: 0 0 auto;
    backdrop-filter: none;
}

.login-auth-mode-toggle--compact .login-auth-mode-btn:hover:not(:disabled) {
    color: rgba(255, 255, 255, 0.88);
    background: transparent;
    transform: none;
}

.login-auth-mode-toggle--compact .login-auth-mode-btn.active {
    color: #ffffff;
    background: transparent;
    border: none;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.35);
}

.login-auth-mode-toggle--compact .login-auth-mode-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.login-left-stack {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-height: 0;
}

.login-numpad-panel {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-height: 0;
}

.login-left-pad-slot,
.login-auth-pad-slot {
    width: 100%;
    height: calc(4 * 58px + 3 * 0.7rem);
    min-height: calc(4 * 58px + 3 * 0.7rem);
    max-height: calc(4 * 58px + 3 * 0.7rem);
    display: grid;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    gap: 0.7rem;
    box-sizing: border-box;
}

.login-auth-pad-slot {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    gap: 0;
}

.login-left-pad-slot > .login-user-row {
    grid-row: 1;
    min-height: 0;
}

.login-left-pad-slot > .login-input-wrapper-transparent:not(.login-user-row) {
    grid-row: 2;
    min-height: 0;
}

.login-left-pad-slot > .login-btn-transparent {
    grid-row: 3;
    min-height: 0;
}

.login-left-pad-slot > .login-pattern-side-hint {
    grid-row: 2 / 4;
    min-height: 0;
}

.login-left-pad-slot > .login-remember-as-close {
    grid-row: 4;
    min-height: 0;
    height: 100% !important;
}

.login-left-pad-slot > .login-input-wrapper-transparent .login-input-transparent,
.login-left-pad-slot > .login-btn-transparent,
.login-left-pad-slot > .login-remember-as-close {
    height: 100%;
    box-sizing: border-box;
}

.login-remember-as-close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    cursor: pointer;
    user-select: none;
    margin: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0 1rem !important;
}
.login-remember-as-close .app-switch {
    flex-shrink: 0;
    transform: scale(0.88);
}

.login-inputs-transparent {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: none;
}

.login-input-wrapper-transparent {
    position: relative;
    display: flex;
    align-items: center;
}

.login-input-icon-transparent {
    position: absolute;
    left: 1rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    z-index: 1;
    pointer-events: none;
}

.login-input-transparent {
    width: 100%;
    padding: 1rem 1rem 1rem 3rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    font-size: 1rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    color: white;
    font-family: var(--font-family-base);
}

.login-input-transparent::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* Kasiyer select: sağdaki ok simgesi çok sağa yapışmasın */
.login-input-wrapper-transparent select.login-input-transparent {
    padding-right: 2.5rem;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.9)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
}

/* Şifre alanı placeholder daha silik, font diğer alanlarla aynı */
.login-password-field::placeholder {
    color: rgba(255, 255, 255, 0.4);
    font-size: 1rem;
}

.login-input-transparent:hover {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.2);
}

.login-input-transparent:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.25);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1);
}

.login-input-transparent option {
    background: #8B1538;
    color: white;
}

.login-password-clear-transparent {
    position: absolute;
    right: 0.75rem;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-password-clear-transparent:hover {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.login-remember-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    margin: 0.15rem 0 0.35rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.92rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
}

.login-remember-row input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: #40ff79;
    cursor: pointer;
}

.login-remember-switch.app-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    margin: 0.15rem 0 0.35rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
}
.login-remember-switch .app-switch-label {
    color: rgba(255, 255, 255, 0.92);
}
.login-remember-switch .app-switch-slider {
    background: rgba(255, 255, 255, 0.28);
}
.login-remember-switch .app-switch input:checked + .app-switch-slider {
    background: #40ff79;
}

.login-numpad-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
}

.login-auth-mode-toggle {
    flex-shrink: 0;
}
.login-auth-mode-btn {
    border: 2px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    border-radius: 12px;
    padding: 0;
    font-weight: 600;
    cursor: pointer;
    font-size: 1.05rem;
    min-height: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}
.login-auth-mode-btn.active {
    background: rgba(255, 255, 255, 0.92);
    color: #1e293b;
    border-color: transparent;
}
.login-pattern-hint {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 1.5rem;
}
.login-pattern-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 0.8rem;
}
.login-pattern-pad {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    padding: 1.15rem 1.25rem;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    box-sizing: border-box;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    border: 2px solid rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.login-pattern-pad.is-drawing {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(64, 255, 121, 0.45);
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(64, 255, 121, 0.18);
}
.login-pattern-pad.is-error {
    border-color: rgba(255, 107, 107, 0.65);
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(255, 107, 107, 0.2);
}
.login-pattern-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    flex: 1;
    box-sizing: border-box;
}
.login-pattern-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: visible;
}
.login-pattern-line {
    stroke: rgba(64, 255, 121, 0.95);
    stroke-width: 3.2;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 4px rgba(64, 255, 121, 0.5));
    transition: stroke 0.12s ease;
}
.login-pattern-line--cursor {
    stroke: rgba(255, 255, 255, 0.5);
    stroke-width: 2.2;
    filter: none;
}
.login-pattern-pad.is-error .login-pattern-dot {
    animation: login-pattern-shake 0.35s ease;
}
.login-pattern-pad.is-error .login-pattern-line {
    stroke: #ff6b6b;
    filter: drop-shadow(0 0 4px rgba(255, 107, 107, 0.55));
}
.login-pattern-dot {
    position: relative;
    z-index: 2;
    width: 22%;
    max-width: 1.85rem;
    min-width: 0.95rem;
    aspect-ratio: 1;
    height: auto;
    place-self: center;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    padding: 0;
    pointer-events: none;
    box-sizing: border-box;
    transition: transform 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}
.login-pattern-dot.active {
    background: rgba(64, 255, 121, 0.98);
    box-shadow: 0 0 0 6px rgba(64, 255, 121, 0.22), 0 2px 8px rgba(64, 255, 121, 0.35);
    transform: scale(1.18);
}
.login-pattern-dot.pulse {
    animation: login-pattern-dot-pulse 0.45s ease;
}
@keyframes login-pattern-dot-pulse {
    0% { transform: scale(0.86); }
    55% { transform: scale(1.16); }
    100% { transform: scale(1.08); }
}
@keyframes login-pattern-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}
.login-remember-as-close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    cursor: pointer;
    user-select: none;
    margin: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 0 1rem !important;
}
.login-remember-as-close .app-switch {
    flex-shrink: 0;
    transform: scale(0.88);
}
.login-left-stack.is-error .login-input-transparent,
.login-left-stack.is-error .login-btn-transparent,
.login-left-stack.is-error .login-btn-close {
    animation: login-pattern-shake 0.4s ease;
    border-color: rgba(255, 107, 107, 0.75) !important;
}
.login-left-stack.is-error .login-password-field {
    background: rgba(255, 107, 107, 0.18);
}
.login-pattern-side-hint {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.95;
    box-sizing: border-box;
}

.login-btn-transparent {
    width: 100%;
    padding: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.login-btn-transparent.is-ready:not(:disabled) {
    background: rgba(64, 255, 121, 0.34);
    border-color: rgba(64, 255, 121, 0.85);
    box-shadow: 0 4px 14px rgba(64, 255, 121, 0.22);
}

.login-btn-transparent.is-ready:hover:not(:disabled),
.login-btn-transparent:hover:not(:disabled) {
    background: rgba(64, 255, 121, 0.45);
    border-color: rgba(120, 255, 160, 1);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(64, 255, 121, 0.3);
}

.login-btn-transparent:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: none;
}

.login-btn-close {
    width: 100%;
    padding: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    color: white;
}

.login-btn-close:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-1px);
}

/* Login footer - round icon buttons */
.login-footer-buttons {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.login-round-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.login-round-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.6);
    transform: scale(1.08);
}

.login-round-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.login-round-btn-settings i,
.login-round-btn-exit i {
    pointer-events: none;
}

/* Login - Tek ekran: db-check / db-failed / loading (spinner + mesaj) */
.login-unified-loading {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.login-unified-loading-content {
    text-align: center;
    max-width: 420px;
}

.login-unified-loading-logo {
    margin-bottom: 2rem;
}

.login-unified-loading-logo img {
    width: 320px;
    max-width: 90vw;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 8px 6px rgba(0,0,0,0.35));
}

.login-unified-spinner {
    margin-bottom: 1.25rem;
}

.login-unified-spinner .spinner {
    width: 48px;
    height: 48px;
    margin: 0 auto;
    border-width: 3px;
    border-color: rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.login-update-progress-wrap {
    margin-bottom: 1.25rem;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}
.login-schema-progress-wrap {
    max-width: 380px;
    width: 100%;
    margin-top: 0.9rem;
    margin-bottom: 0;
}
.login-schema-steps {
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: 100%;
    margin: 0 0 0.85rem;
    padding: 0;
}
.login-schema-step {
    display: flex;
    flex: 1 1 0;
    align-items: flex-start;
    min-width: 0;
    color: rgba(255, 255, 255, 0.38);
    transition: color 0.2s ease;
}
.login-schema-step.is-last {
    flex: 0 0 auto;
}
.login-schema-step-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.28rem;
    flex: 0 0 auto;
    width: 2.4rem;
}
.login-schema-step-label {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
}
.login-schema-step-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.22);
    color: transparent;
    font-size: 0.45rem;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.login-schema-step-rail {
    flex: 1 1 auto;
    height: 2px;
    margin: 6px 2px 0;
    min-width: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    transition: background 0.25s ease;
}
.login-schema-step-rail.is-done {
    background: rgba(129, 199, 132, 0.85);
}
.login-schema-step.is-done {
    color: rgba(255, 255, 255, 0.78);
}
.login-schema-step.is-done .login-schema-step-dot {
    background: #81c784;
    color: #1b3a1f;
}
.login-schema-step.is-active {
    color: rgba(255, 255, 255, 0.98);
}
.login-schema-step.is-active .login-schema-step-dot {
    background: #64b5f6;
    box-shadow: 0 0 0 3px rgba(100, 181, 246, 0.28);
    transform: scale(1.08);
    animation: login-schema-pulse 1.1s ease-in-out infinite;
}
@keyframes login-schema-pulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(100, 181, 246, 0.22); }
    50% { box-shadow: 0 0 0 5px rgba(100, 181, 246, 0.12); }
}
.login-schema-progress-wrap .login-update-progress-bar,
.login-schema-progress-bar {
    height: 8px;
    margin-bottom: 0.4rem;
    background: rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    overflow: hidden;
}
.login-schema-progress-fill {
    transition: width 0.12s linear;
    background: linear-gradient(90deg, #1565c0, #42a5f5 55%, #80cbc4);
}
.login-schema-progress-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
    min-height: 1.1em;
}
.login-schema-progress-text {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    opacity: 0.95;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.login-schema-progress-pct {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.88);
    font-variant-numeric: tabular-nums;
}
.login-schema-progress-count {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.55);
    font-variant-numeric: tabular-nums;
}
.login-schema-progress-detail {
    margin-top: 0.2rem;
    height: 1em;
    font-size: 0.58rem;
    font-weight: 500;
    line-height: 1;
    color: rgba(255, 255, 255, 0.42);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.login-update-progress-bar {
    height: 10px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 0.75rem;
}
.login-update-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #1976d2, #42a5f5);
    border-radius: 5px;
    transition: width 0.2s ease;
}

.login-unified-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 500;
}

.login-unified-error-icon {
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 1rem;
}
.login-unified-success-icon {
    font-size: 3rem;
    color: #4caf50;
    margin-bottom: 1rem;
}
.login-update-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}
.login-btn-update-yes { border-color: #4caf50; color: #a5d6a7; }
.login-btn-update-yes:hover { background: rgba(76, 175, 80, 0.25); border-color: #4caf50; }
.login-btn-update-no { opacity: 0.9; }
.login-btn-update-restart { border-color: #2196f3; color: #90caf9; }
.login-btn-update-restart:hover { background: rgba(33, 150, 243, 0.25); border-color: #2196f3; }

.login-unified-error-text {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.login-unified-hint {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.4;
    margin-top: 0.5rem;
}

/* Login - Veritabanı ayarları paneli (ayar düğmesine basınca) */
.login-db-settings-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 2rem;
}

.login-db-settings-panel {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 2rem;
}

.login-api-key-logo {
    text-align: center;
    margin-bottom: 1.25rem;
}

.login-api-key-panel {
    max-width: 460px;
    margin: 0 auto;
}

.login-api-key-hint {
    margin-top: 0;
    margin-bottom: 1rem;
}

.login-db-settings-title {
    margin: 0 0 1.25rem 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.login-db-settings-title i {
    opacity: 0.9;
}

.login-db-error,
.login-db-success {
    margin-bottom: 1rem;
}

.login-db-success {
    color: #90ee90;
    font-size: 0.9rem;
    opacity: 0;
    transition: opacity 0.25s;
}

.login-db-success.show {
    opacity: 1;
}

.login-db-inputs {
    max-width: 100%;
}

.login-db-inputs .login-input-wrapper-transparent {
    margin-bottom: 0;
}

.login-db-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.login-db-actions .login-btn-transparent,
.login-db-actions .login-btn-close {
    margin-top: 0;
}

.login-db-btn-test {
    background: rgba(76, 175, 80, 0.25);
    border-color: rgba(76, 175, 80, 0.5);
}

.login-db-btn-test:hover:not(:disabled) {
    background: rgba(76, 175, 80, 0.4);
    border-color: rgba(76, 175, 80, 0.8);
}

/* Numpad Panel - Right Side */
.login-numpad-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
    min-width: 0;
    width: 100%;
}

.login-auth-pad-slot {
    width: 100%;
    height: calc(4 * 58px + 3 * 0.7rem);
    min-height: calc(4 * 58px + 3 * 0.7rem);
    max-height: calc(4 * 58px + 3 * 0.7rem);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    gap: 0;
    box-sizing: border-box;
}

.login-auth-pad-slot > .login-numpad-dark,
.login-auth-pad-slot > .login-pattern-pad {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
}

.login-numpad-dark {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    width: 100%;
    max-width: none;
    height: 100%;
    grid-auto-rows: 1fr;
    box-sizing: border-box;
}

.numpad-btn-dark {
    padding: 1rem;
    border: none;
    border-radius: 12px;
    font-size: 1.25rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.numpad-btn-dark:hover:not(:disabled) {
    background: rgba(0, 0, 0, 0.6);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.numpad-btn-dark:active:not(:disabled) {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.numpad-btn-dark:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.numpad-number-dark {
    background: rgba(0, 0, 0, 0.4);
}

.numpad-clear-dark {
    background: rgba(139, 21, 56, 0.8);
    color: white;
    grid-column: 1;
}

.numpad-clear-dark:hover:not(:disabled) {
    background: rgba(139, 21, 56, 1);
}

.numpad-delete-dark {
    background: rgba(218, 33, 67, 0.8);
    color: white;
    grid-column: 3;
}

.numpad-delete-dark:hover:not(:disabled) {
    background: rgba(218, 33, 67, 1);
}

/* Right Panel - Login Form */
.login-right-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    animation: formSlideIn 0.8s ease-out;
}

@keyframes formSlideIn {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.login-form-card {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2rem;
    width: 100%;
    max-width: 400px;
    max-height: calc(100vh - 32px - 2rem);
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.login-form-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0 0 1.5rem 0;
    text-align: center;
    letter-spacing: -0.5px;
}

/* Form Elements */
.login-error {
    background: rgba(244, 67, 54, 0.2);
    backdrop-filter: blur(10px);
    color: white;
    padding: 0.875rem 1rem;
    border-radius: 12px;
    margin-bottom: 0;
    text-align: center;
    font-size: 0.875rem;
    display: none;
    border: 2px solid rgba(244, 67, 54, 0.5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    font-weight: 500;
    width: 100%;
    max-width: 400px;
}

.login-error.show {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.login-error i {
    font-size: 1rem;
}

.login-grace-checking {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
    width: 100%;
    max-width: 400px;
}

.login-grace-retry-btn {
    margin-top: 0.35rem;
}

/* Giriş sonrası: lisans sunucusu yok + 72s offline süre dolmuş — her zaman açık/koyu okunaklı kart */
.offline-grace-block-overlay {
    position: fixed;
    inset: 0;
    z-index: 200000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.82);
    padding: 1.5rem;
    pointer-events: auto;
}
.offline-grace-block-panel {
    max-width: 520px;
    width: 100%;
    background: #ffffff;
    color: #1f2937;
    border-radius: 14px;
    padding: 2rem 1.75rem;
    text-align: center;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
    border: 1px solid #e5e7eb;
}
.offline-grace-block-icon {
    font-size: 2.5rem;
    color: #dc2626;
    margin-bottom: 1rem;
}
.offline-grace-block-title {
    font-size: 1.35rem;
    margin: 0 0 0.75rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
}
.offline-grace-block-message {
    font-size: 1rem;
    line-height: 1.55;
    margin: 0 0 1.5rem;
    white-space: pre-wrap;
    color: #374151;
    opacity: 1;
}
.offline-grace-block-retry {
    min-width: 220px;
    font-weight: 600;
}
.theme-dark .offline-grace-block-panel,
.pos-app .offline-grace-block-panel {
    background: #ffffff;
    color: #1f2937;
    border-color: #e5e7eb;
}
.theme-dark .offline-grace-block-title,
.pos-app .offline-grace-block-title {
    color: #111827;
}
.theme-dark .offline-grace-block-message,
.pos-app .offline-grace-block-message {
    color: #374151;
}

.store-billing-block-icon {
    color: #b45309;
}
.store-billing-block-panel {
    position: relative;
    max-width: 480px;
    text-align: left;
    padding: 0;
    overflow: hidden;
}
.store-billing-card {
    border-radius: 16px;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.28);
}
.store-billing-card-head {
    padding: 1.35rem 1.35rem 1rem;
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 55%, #ffffff 100%);
    border-bottom: 1px solid #fed7aa;
    text-align: center;
}
.store-billing-card-head--pending {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 55%, #ffffff 100%);
    border-bottom-color: #bfdbfe;
}
.store-billing-card--hard .store-billing-card-head {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 55%, #ffffff 100%);
    border-bottom-color: #fecaca;
}
.store-billing-card--info .store-billing-card-head {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 55%, #ffffff 100%);
    border-bottom-color: #a7f3d0;
}
.store-billing-card-icon-wrap {
    width: 52px;
    height: 52px;
    margin: 0 auto 0.65rem;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    color: #b45309;
    font-size: 1.35rem;
    box-shadow: 0 4px 14px rgba(180, 83, 9, 0.15);
}
.store-billing-card--info .store-billing-card-icon-wrap {
    color: #047857;
    box-shadow: 0 4px 14px rgba(4, 120, 87, 0.15);
}
.store-billing-card--hard .store-billing-card-icon-wrap {
    color: #b91c1c;
    box-shadow: 0 4px 14px rgba(185, 28, 28, 0.15);
}
.store-billing-card-badge {
    display: inline-block;
    margin-bottom: 0.45rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: #fef3c7;
    color: #92400e;
}
.store-billing-card-badge--hard {
    background: #fee2e2;
    color: #991b1b;
}
.store-billing-card-badge--info {
    background: #d1fae5;
    color: #065f46;
}
.store-billing-card-title {
    margin: 0 0 0.45rem;
    font-size: 1.28rem;
    font-weight: 700;
    color: #111827;
    text-align: center;
}
.store-billing-card-lead {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #4b5563;
    text-align: center;
}
.store-billing-summary-sheet {
    padding: 0.85rem 1.15rem 0.35rem;
}
.store-billing-summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #f3f4f6;
}
.store-billing-summary-row:last-child {
    border-bottom: none;
}
.store-billing-summary-row--total {
    margin-top: 0.15rem;
    padding-top: 0.75rem;
    border-top: 2px solid #e5e7eb;
    border-bottom: none;
}
.store-billing-summary-label {
    flex: 1 1 auto;
    font-size: 0.88rem;
    color: #6b7280;
    text-align: left;
}
.store-billing-summary-value {
    flex: 0 0 auto;
    font-size: 0.92rem;
    font-weight: 600;
    color: #111827;
    text-align: right;
    white-space: nowrap;
}
.store-billing-summary-row--total .store-billing-summary-label {
    font-weight: 600;
    color: #374151;
}
.store-billing-summary-row--total .store-billing-summary-value {
    font-size: 1.2rem;
    font-weight: 800;
    color: #b45309;
}
.store-billing-summary-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 1.15rem 0.85rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
}
.store-billing-summary-total-label {
    font-size: 0.88rem;
    color: #6b7280;
}
.store-billing-summary-total-value {
    font-size: 1.2rem;
    font-weight: 800;
    color: #b45309;
}
.store-billing-card .store-billing-block-actions {
    padding: 0.85rem 1.15rem 1.15rem;
    justify-content: stretch;
}
.store-billing-card .store-billing-block-actions .btn {
    flex: 1 1 auto;
    min-width: 0;
}
.store-billing-modal-close {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    z-index: 2;
    color: #6b7280 !important;
    padding: 0.25rem 0.45rem;
    line-height: 1;
}
.store-billing-modal-close:hover {
    color: #111827 !important;
}
.store-billing-block-amount {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    color: #b45309;
}
.store-billing-block-due {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    color: #6b7280;
}
.store-billing-pending-icon {
    color: #2563eb;
}
.store-billing-modal-overlay--pending .store-billing-block-panel {
    border-color: #bfdbfe;
}
.store-billing-block-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.login-form-group {
    margin-bottom: 1.25rem;
}

.login-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.login-input-icon {
    position: absolute;
    left: 1.25rem;
    color: var(--primary);
    font-size: 1.1rem;
    z-index: 1;
    pointer-events: none;
}

.login-input {
    width: 100%;
    padding: 1.15rem 1.25rem 1.15rem 3.5rem;
    border: 2px solid #e0e0e0;
    border-radius: 14px;
    font-size: 1rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: #fafafa;
    font-family: var(--font-family-base);
    color: var(--text-primary);
}

.login-input:hover {
    border-color: #bdbdbd;
    background: #f5f5f5;
}

.login-input:focus {
    outline: none;
    border-color: var(--primary);
    background: white;
    box-shadow: 0 0 0 4px rgba(255, 23, 68, 0.1), 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.login-password-field {
    font-size: 1.3rem;
    letter-spacing: 0.2rem;
    font-weight: 600;
    font-family: 'Ubuntu', monospace;
    padding-right: 3.5rem;
}

.login-password-clear {
    position: absolute;
    right: 0.75rem;
    background: transparent;
    border: none;
    color: #999;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.login-password-clear:hover {
    background: #f5f5f5;
    color: var(--danger);
    transform: scale(1.1);
}

/* Numpad */
.login-numpad-container {
    margin: 1rem 0;
}

.login-numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    width: 100%;
    grid-auto-rows: minmax(45px, auto);
}

.numpad-btn {
    padding: 0.75rem;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: white;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.numpad-btn:active {
    transform: scale(0.95);
}

.numpad-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.numpad-number {
    background: white;
}

.numpad-number:hover:not(:disabled) {
    background: #f5f5f5;
    border-color: var(--primary);
    color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.numpad-clear {
    background: #ff9800;
    color: white;
    border-color: #ff9800;
    font-size: 1.1rem;
    grid-column: span 1;
}

.numpad-clear:hover:not(:disabled) {
    background: #f57c00;
    border-color: #f57c00;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 152, 0, 0.4);
}

.numpad-delete {
    background: var(--danger);
    color: white;
    border-color: var(--danger);
    font-size: 1.2rem;
    grid-column: span 1;
}

.numpad-delete:hover:not(:disabled) {
    background: #c62828;
    border-color: #c62828;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(244, 67, 54, 0.4);
}

/* Actions */
.login-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1rem;
}

.login-btn {
    width: 100%;
    padding: 1.1rem 1.5rem;
    border: none;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    min-height: 50px;
}

.login-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.login-btn-primary {
    background: linear-gradient(135deg, #8B1538 0%, #C2185B 50%, #DA2143 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(139, 21, 56, 0.3);
}

.login-btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 21, 56, 0.4);
}

.login-btn-secondary {
    background: #f5f5f5;
    color: var(--text-primary);
    border: 2px solid #e0e0e0;
}

.login-btn-secondary:hover:not(:disabled) {
    background: #eeeeee;
    border-color: #bdbdbd;
    transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 1024px) {
    .login-form-row {
        align-items: stretch;
        width: min(400px, 100%);
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .login-logo-banner {
        width: 100%;
        grid-column: 1;
        grid-row: 1;
    }

    .login-auth-block {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        max-width: 100%;
        row-gap: 1.1rem;
    }

    .login-numpad-panel {
        grid-column: 1;
        grid-row: 2;
    }

    .login-left-stack {
        grid-column: 1;
        grid-row: 3;
    }

    .login-numpad-dark,
    .login-pattern-pad {
        max-width: 100%;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .login-content {
        grid-template-columns: 1fr;
    }
    
    .login-form-card {
        max-width: 340px;
        padding: 1.5rem;
    }
    
    .login-numpad {
        max-width: 100%;
    }
    
    .login-title {
        font-size: 2rem;
    }
}

/* ============================================
   POS App Layout (Laravel PosApp.vue'den)
   ============================================ */
.pos-app {
    /* Pin/desen öncesi: viewport yüksekliği = gerçek pencere (WebView2 innerHeight) */
    display: flex;
    flex-direction: column;
    min-height: var(--app-shell-h, 100vh);
    height: var(--app-shell-h, 100vh);
    max-height: var(--app-shell-h, 100vh);
    width: 100%;
    background-color: var(--light-gray);
    position: relative;
    margin-top: 0;
    overflow: hidden;
}
.pos-app-stage {
    /* Eski .pos-app grid'inin yerini alır; aynı doluluk */
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    height: var(--app-shell-h, 100vh);
    max-height: var(--app-shell-h, 100vh);
    display: grid;
    grid-template-columns: var(--sidebar-width) 1fr;
    overflow: hidden;
    transition: grid-template-columns 0.35s ease, transform 0.28s ease;
    transform-origin: top center;
}

/* Hızlı satış paneli: content-area içinde sola dayalı (üst navigasyon / title bar değişmez) */
.content-area.content-area--fast-sale-panel {
    flex-direction: row;
    align-items: stretch;
}
.content-area.content-area--fast-sale-panel .sales-view {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

/* Kasa / Ayarlar sol sidebar ile aynı kırmızı gradient */
.fast-sale-shortcut-panel {
    flex-shrink: 0;
    width: min(280px, 34vw);
    max-width: 280px;
    color: var(--white);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    background-color: #313131;
}
.fast-sale-panel-inner {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.fast-sale-top-actions {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.35rem;
    flex-shrink: 0;
}
.fast-sale-new-sale-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.42rem 0.4rem;
    border: 1px solid rgba(76, 175, 80, 0.65);
    border-radius: 8px;
    background: var(--success);
    color: #fff;
    font-weight: 700;
    font-size: 0.72rem;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    white-space: nowrap;
}
.fast-sale-new-sale-btn:hover:not(:disabled) {
    background: var(--success-hover);
    border-color: rgba(76, 175, 80, 0.85);
}
.fast-sale-new-sale-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-price-lookup-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.42rem 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: #455a64;
    color: #fff;
    font-weight: 700;
    font-size: 0.72rem;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    white-space: nowrap;
}
.fast-sale-price-lookup-btn:hover:not(:disabled) {
    filter: brightness(1.1);
}
.fast-sale-price-lookup-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-waiting-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.42rem 0.45rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font-weight: 700;
    font-size: 0.72rem;
    cursor: pointer;
    white-space: nowrap;
}
.fast-sale-waiting-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.45);
}
.fast-sale-waiting-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-waiting-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.28rem;
    border-radius: 999px;
    background: rgba(255, 152, 0, 0.95);
    color: #111;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}
.fast-sale-baskets-overlay .fast-sale-baskets-modal {
    width: min(720px, 94vw);
    max-height: min(80vh, 640px);
    display: flex;
    flex-direction: column;
}
.fast-sale-baskets-body {
    overflow-y: auto;
    padding: 1rem 1.1rem 1.2rem;
}
.fast-sale-baskets-empty {
    text-align: center;
    opacity: 0.7;
    padding: 1.5rem 0.5rem;
}
.fast-sale-baskets-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 0.75rem;
}
.fast-sale-basket-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.45rem;
    min-height: 9.5rem;
    padding: 0.75rem 0.7rem 0.8rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    background: #f7f7f7;
    color: #222;
    cursor: pointer;
    text-align: left;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.fast-sale-basket-card:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(0, 0, 0, 0.18);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}
.fast-sale-basket-card:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.fast-sale-basket-card-top {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}
.fast-sale-basket-card-icon {
    flex-shrink: 0;
    font-size: 1.15rem;
    color: #f57c00;
}
.fast-sale-basket-card-name {
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.25;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fast-sale-basket-preview {
    list-style: none;
    margin: 0;
    padding: 0.2rem 0.35rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(0, 0, 0, 0.06);
    flex: 1 1 auto;
    min-height: 3.2rem;
}
.fast-sale-basket-preview li {
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.4;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0.22rem 0;
}
.fast-sale-basket-preview li + li {
    border-top: 1px dashed rgba(0, 0, 0, 0.18);
}
.fast-sale-basket-preview-more {
    color: #888 !important;
    font-weight: 500 !important;
    margin-top: 0;
}
.fast-sale-basket-preview-empty {
    flex: 1 1 auto;
    font-size: 0.72rem;
    font-weight: 400;
    color: #999;
    padding: 0.35rem 0.2rem;
}
.fast-sale-basket-card-price {
    font-size: 0.95rem;
    font-weight: 800;
    color: #1b5e20;
    margin-top: auto;
    text-align: right;
}
.fast-sale-qty-block {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}
.fast-sale-qty-label {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.85);
}
.fast-sale-qty-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 6px;
}
.fast-sale-qty-step {
    flex: 0 0 2.1rem;
    width: 2.1rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fast-sale-qty-step:hover {
    background: rgba(0, 0, 0, 0.35);
}
.fast-sale-qty-step:active {
    opacity: 0.9;
}
.fast-sale-qty-display {
    flex: 1;
    min-width: 0;
    font-size: 1.15rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: center;
    padding: 0.2rem 0.35rem;
    background: rgba(255, 255, 255, 0.1);
    color: #7eff83 !important;
    border-radius: 6px;
    border: none;
    min-height: 2rem;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.1s ease-out, filter 0.12s ease-out;
}
.fast-sale-numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    flex:1;
    min-height: 160px;
}
/* Ürün grubu butonlarıyla aynı koyu gri ton (--category-bg / --secondary) */
.fast-sale-numpad-btn {
    border: none;
    border-radius: 6px;
    padding: 0.45rem 0.2rem;
    font-size: 1rem;
    font-weight: 700;
    background: rgb(88 88 88);
    color: var(--category-text);
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    transition: background 0.2s, transform 0.1s;
}
.fast-sale-numpad-btn:hover {
    background: #3a3a3a;
}
.fast-sale-numpad-btn:active {
    transform: scale(0.97);
}
.fast-sale-numpad-btn.fast-sale-numpad-clear {
    background: linear-gradient(180deg, #e57373 0%, #c62828 100%);
    color: #fff;
}
.fast-sale-numpad-btn.fast-sale-numpad-clear:hover {
    background: linear-gradient(180deg, #ef9a9a 0%, #d32f2f 100%);
}
.fast-sale-drawer-wireless-row {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: stretch;
}
.fast-sale-quick-ops {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    flex-shrink: 0;
}
.fast-sale-quick-op {
    min-width: 0;
    min-height: 36px;
    padding: 0.28rem 0.12rem !important;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.72rem !important;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0;
    cursor: pointer;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fast-sale-quick-op--income {
    background: linear-gradient(135deg, #ffb74d 0%, #f57c00 100%);
}
.fast-sale-quick-op--expense {
    background: linear-gradient(135deg, #8d6e63 0%, #5d4037 100%);
}
.fast-sale-quick-op--cari {
    background: linear-gradient(135deg, #7e57c2 0%, #5e35b1 100%);
}
.fast-sale-quick-op--price {
    background: linear-gradient(135deg, #26a69a 0%, #00796b 100%);
}
.fast-sale-quick-op:hover:not(:disabled) {
    filter: brightness(1.08);
}
.fast-sale-drawer-btn {
    flex: 1;
    min-width: 0;
    position: relative;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 0.4rem 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}
.fast-sale-drawer-btn.fast-sale-drawer-btn--full {
    flex: 1 1 100%;
}
.fast-sale-drawer-btn:active {
    opacity: 0.92;
}
.fast-sale-wireless-pay-btn {
    flex: 1;
    min-width: 0;
    border: none;
    border-radius: 6px;
    padding: 0.4rem 0.3rem;
    font-size: 0.68rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: #fff;
    background: linear-gradient(135deg, #26C6DA 0%, #00acc1 100%);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.fast-sale-wireless-pay-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-cash-row {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    padding: 0.35rem 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.92);
}
.fast-sale-cash-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}
.fast-sale-cash-line strong {
    font-size: 0.85rem;
    color: var(--white);
}
.fast-sale-cash-value {
    cursor: pointer;
    min-width: 72px;
    text-align: right;
}
.fast-sale-cash-input {
    min-width: 78px;
    max-width: 92px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    padding: 0.15rem 0.45rem;
    text-align: right;
    outline: none;
}
.fast-sale-cash-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}
.fast-sale-change-line {
    margin-top: 0.25rem;
    padding-top: 0.25rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.2);
}
.fast-sale-change-pos {
    color: #7eff83 !important;
}
.fast-sale-change-neg {
    color: #ffab91 !important;
}
.fast-sale-cash-reset {
    padding: 0.15rem 0.4rem;
    font-size: 0.65rem;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    color: var(--white);
    cursor: pointer;
}
.fast-sale-cash-reset:hover {
    background: rgba(255, 255, 255, 0.2);
}
.fast-sale-banknotes {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
    flex:2;
}
.fast-sale-banknote-btn {
    flex: 1 1 calc(33% - 4px);
    min-width: 52px;
    padding: 0.35rem 0.2rem;
    border: none;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.9rem;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(145deg, #66bb6a 0%, #2e7d32 100%);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.fast-sale-banknote-btn:active {
    transform: scale(0.98);
}
.fast-sale-pay-primary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}
/* Nakit + Kart: altta, büyük ve ön planda */
.fast-sale-pay-primary.fast-sale-pay-primary--large {
    gap: 8px;
    flex:1;
}
.fast-sale-pay-primary.fast-sale-pay-primary--large .fast-sale-pay-pill {
    flex: 1 1 48%;
    min-width: 0;
    min-height: 2.65rem;
    padding: 0.5rem 0.4rem;
    font-size: 0.9rem;
    font-weight: 800;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.fast-sale-pay-pill {
    flex: 1 1 40%;
    min-width: 88px;
    border: none;
    border-radius: 8px;
    padding: 0.5rem 0.35rem;
    font-size: 0.8rem;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    color: #fff;
}
.fast-sale-pay-pill:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-pay-nakit {
    background: linear-gradient(135deg, #66BB6A 0%, #4CAF50 100%);
}
.fast-sale-pay-kart {
    background: linear-gradient(135deg, #42A5F5 0%, #2196F3 100%);
}
/* FAB ile uyumlu kart rengi (kablolu) */
.fast-sale-pay-extra {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    flex:4;
}
/* Tekil kalan satır (ör. 7 ödeme tipi): ortada tek sütun genişliğinde */
.fast-sale-pay-extra .fast-sale-pay-extra-btn:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 50%;
    justify-self: center;
}
.fast-sale-pay-extra-btn {
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.22);
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    color: rgba(255, 255, 255, 0.95);
}
.fast-sale-pay-extra-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fast-sale-pay-extra-btn i {
    font-size: 0.78rem;
    opacity: 0.95;
    color: rgba(255, 255, 255, 0.9);
    margin-right: 0.25rem;
}
.fast-sale-membership-card-btn {
    width: 100%;
    margin-top: 6px;
    border: 1px dashed rgba(251, 191, 36, 0.55);
    border-radius: 8px;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
    background: rgba(251, 191, 36, 0.12);
    color: #fef3c7;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
}
.fast-sale-membership-card-btn:hover {
    background: rgba(251, 191, 36, 0.22);
}
.fast-sale-card-modal-overlay {
    z-index: 10040;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.fast-sale-card-modal {
    width: min(96vw, 480px);
    max-height: min(90vh, 640px);
    display: flex;
    flex-direction: column;
}
.fast-sale-card-modal-body {
    overflow-y: auto;
    padding: 14px 16px;
}
.fast-sale-card-scan-row {
    margin-bottom: 12px;
}
.fast-sale-card-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 6px;
}
.fast-sale-card-scan-inputs {
    display: flex;
    gap: 8px;
}
.fast-sale-card-scan-inputs .filter-input {
    flex: 1;
    min-width: 0;
}
.fast-sale-card-summary {
    padding: 12px 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fde68a;
    margin-bottom: 12px;
}
.fast-sale-card-summary-main {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 6px;
}
.fast-sale-card-summary-name {
    font-weight: 700;
    color: #78350f;
}
.fast-sale-card-summary-balance {
    font-size: 1.15rem;
    font-weight: 800;
    color: #b45309;
}
.fast-sale-card-summary-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 0.82rem;
    color: #92400e;
}
.fast-sale-card-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}
.fast-sale-card-tabs button {
    flex: 1;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--lighter-gray, #f8f9fa);
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}
.fast-sale-card-tabs button.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.fast-sale-card-pane .form-group {
    margin-bottom: 12px;
}
.fast-sale-card-pane .form-group label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--text-secondary);
}
.fast-sale-card-pane .filter-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius, 8px);
    font-size: 0.88rem;
}
.fast-sale-card-pay-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.fast-sale-card-pay-btn {
    flex: 1 1 30%;
    min-width: 90px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    padding: 8px 6px;
    background: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.fast-sale-card-pay-btn.active {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.06);
    color: var(--primary);
}
.fast-sale-card-hint {
    margin: 8px 0 0;
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.35;
}
.fast-sale-card-customer-list {
    list-style: none;
    margin: 8px 0 12px;
    padding: 0;
    max-height: 160px;
    overflow: auto;
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
}
.fast-sale-card-customer-list button {
    width: 100%;
    text-align: left;
    border: none;
    border-bottom: 1px solid #f1f3f5;
    background: #fff;
    padding: 8px 10px;
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.fast-sale-card-customer-list button.is-selected,
.fast-sale-card-customer-list button:hover {
    background: rgba(255, 23, 68, 0.06);
}
.fast-sale-card-divider {
    text-align: center;
    margin: 14px 0;
    font-size: 0.78rem;
    color: var(--text-muted);
    position: relative;
}
.fast-sale-card-divider span {
    background: var(--white, #fff);
    padding: 0 8px;
    position: relative;
    z-index: 1;
}
.fast-sale-card-divider::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px solid var(--border-color, #e8e8e8);
}
.fast-sale-card-loading {
    padding: 8px;
    text-align: center;
    color: var(--text-muted);
}
.btn-block {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
/* Büyük ekranlarda market panel elemanları daha dengeli yayılır */
@media (min-height: 860px) and (min-width: 1280px) {
    .fast-sale-panel-inner {
        justify-content: space-between;
        gap: 0.75rem;
    }
    .fast-sale-numpad-btn {
        min-height: 2.35rem;
    }
    .fast-sale-banknote-btn {
        min-height: 2.15rem;
    }
}
.pos-view-settings-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 180px;
}
.pos-view-settings-toggle-row .pos-view-settings-item-label {
    flex: 1;
}

/* Müşteriler, Ürünler, Ayarlar: sol panel gizlenir, içerik tam genişlik */
.pos-app.pos-app-full-content:not(.pos-app--left-panel-right) .pos-app-stage {
    grid-template-columns: 0px 1fr;
}
/* Tam genişlik sayfa + adisyon paneli sağda: içerik solda 1fr, panel sağda 0 */
.pos-app.pos-app-full-content.pos-app--left-panel-right .pos-app-stage {
    grid-template-columns: 1fr 0px;
}
.pos-app.pos-app-full-content.pos-app--left-panel-right .right-panel {
    order: 1;
    grid-column: 1;
    min-width: 0;
}
.pos-app.pos-app-full-content.pos-app--left-panel-right .left-panel {
    order: 2;
    grid-column: 2;
}

/* Title bar sadece right-panel içinde görünsün, left panel üzerine gelmesin */
.right-panel .custom-title-bar {
    position: relative;
    /* z-index: 100; */
    width: 100%;
    flex-shrink: 0; /* Title bar'ın küçülmesini önle */
}

/* Sol Panel - Adisyon Listesi */
.left-panel {
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    height: var(--app-shell-h, 100vh);
    max-height: var(--app-shell-h, 100vh);
    box-shadow: 5px 0 8px rgba(0, 0, 0, 0.2);
    z-index: 2;
    position: relative;
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    max-width: var(--sidebar-width);
    overflow: hidden;
    transform: translateX(0);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* Tam genişlik sayfa: panel yönüne göre kayarak gizlenir (solda→sola, sağda→sağa) */
.pos-app-full-content:not(.pos-app--left-panel-right) .left-panel {
    box-shadow: none;
    transform: translateX(-100%);
    pointer-events: none;
}
.pos-app-full-content.pos-app--left-panel-right .left-panel {
    box-shadow: none;
    transform: translateX(100%);
    pointer-events: none;
}

/* Logo yanında soket durumu (Ably/TSM) */
.logo-and-socket-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.socket-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
}
.socket-status-dot.socket-connected {
    background: #4CAF50;
    box-shadow: 0 0 6px rgba(76, 175, 80, 0.6);
}
.socket-status-dot.socket-connecting {
    background: #FFC107;
    box-shadow: 0 0 6px rgba(255, 193, 7, 0.6);
}
.socket-status-dot.socket-disconnected,
.socket-status-dot.socket-suspended,
.socket-status-dot.socket-failed,
.socket-status-dot.socket-closing,
.socket-status-dot.socket-closed {
    background: #E65100;
    box-shadow: 0 0 4px rgba(230, 81, 0, 0.4);
}
.socket-status-dot.socket-unknown {
    background: #9E9E9E;
}

.logo-container {
    position: relative;
    padding: 1.25rem 1.5rem 0.5rem 1.5rem;
    background: linear-gradient(to bottom, var(--primary-second) 0%, var(--primary) 100%);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: none;
}

.logo-container--servant-logout {
    cursor: pointer;
}

.logo-container--servant-logout:active {
    opacity: 0.82;
}

.logo-brand-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.logo-image {
    max-width: 100%;
    height: auto;
    max-height: 90px;
    width: auto;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.35));
}

.logo-servant-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.95);
    padding-right: 0.35em;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

.logo-beta-badge {
    position: absolute;
    top: 0.5rem;
    right: 0.55rem;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #fff;
    background: rgba(230, 81, 0, 0.95);
    padding: 0.12rem 0.32rem;
    border-radius: 3px;
    line-height: 1.15;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.28);
    pointer-events: none;
    z-index: 2;
}

/* Demo test modu — BETA gibi küçük rozet, yanıp söner; title bar'ı kapatmaz */
.logo-test-badge {
    position: absolute;
    top: 0.5rem;
    left: 0.55rem;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #5d4037;
    background: #ffca28;
    padding: 0.12rem 0.32rem;
    border-radius: 3px;
    line-height: 1.15;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
    pointer-events: none;
    z-index: 2;
    animation: logo-test-badge-pulse 1.35s ease-in-out infinite;
}
@keyframes logo-test-badge-pulse {
    0%, 100% { opacity: 1; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22); }
    50% { opacity: 0.35; box-shadow: 0 0 0 0 rgba(255, 202, 40, 0.15); }
}

.product-search-panel {
    padding: 0;
    border-bottom: none;
    background: linear-gradient(to bottom, var(--primary) 50%, var(--lighter-gray) 50%);
    position: relative;
}
.product-search-panel--invoice {
    background: linear-gradient(to bottom, var(--primary) 50%, var(--invoice-panel-bg, #e3f0fa) 50%);
}
.theme-dark .product-search-panel--invoice {
    background: linear-gradient(to bottom, var(--primary) 50%, var(--invoice-panel-bg, #132a3d) 50%);
}

.product-search-panel .search-box {
    position: relative;
    width: 100%;
    padding: 0.6rem; /* 0.75rem'den küçültüldü */
}

.product-search-panel .search-input {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: .8rem;
    padding: .5rem .4rem .5rem 2rem;
    transition: border-color .2s ease;
    width: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    /* box-shadow: inset 0 -1px 6px rgba(0,0,0,0.5); */
}

.product-search-panel .search-input:focus {
    outline: none;
    border-color: var(--primary);
}

.product-search-panel .search-box i {
    position: absolute;
    left: 1.25rem; /* 1.5rem'den küçültüldü */
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary);
    pointer-events: none;
    z-index: 10;
    font-size: 0.85rem; /* 1rem'den küçültüldü */
}

/* Sol panel içerik sarmalayıcı (drawer + adisyon listesi) */
.left-panel-content-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
}

.quick-list-overlay {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.quick-list-drawer {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 280px;
    max-width: 85vw;
    background: var(--white);
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
    z-index: 2;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* padding-right: 1rem; */
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
    margin-bottom: 1rem;
    margin-top: 1em;
}

.quick-list-drawer.open {
    transform: translateX(0);
}

/* Adisyon paneli sağda: hızlı arama listesi sağ kenardan kayarak açılır */
.pos-app--left-panel-right .quick-list-drawer {
    left: auto;
    right: 0;
    transform: translateX(100%);
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
}
.pos-app--left-panel-right .quick-list-drawer.open {
    transform: translateX(0);
}
.pos-app--left-panel-right .quick-list-item.selected {
    border-left: none;
    border-right: 4px solid var(--success);
}

/* Listenin kendisi altta fade (mask ile; üstte blur maske yok) */
.quick-list-products {
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 1.5rem 0;
    padding-right: 0.25rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, black 0%, black 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 0%, black 75%, transparent 100%);
}

.quick-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem 0.6rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
    transition: background 0.15s ease;
}

.quick-list-item:hover {
    background: var(--light-gray);
}

.quick-list-item.selected {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid var(--success);
}

.quick-list-item-name {
    flex: 1;
    min-width: 0;
    font-size: 0.85rem;
    margin-right: 0.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.quick-list-item-price {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary);
    flex-shrink: 0;
}

.quick-list-item.quick-list-empty {
    cursor: default;
    color: var(--text-muted);
    font-style: italic;
}

.order-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: calc(var(--app-shell-h, 100vh) - 32px - 180px); /* Title bar + header için alan */
    min-height: 0;
    overflow-y: auto;
    position: relative;
}

.modal-container.modal-container--call-customer {
    max-width: 340px;
}
.modal-container.modal-container--call-customer .modal-header {
    padding: 0.65rem 0.85rem;
}
.modal-container.modal-container--call-customer .modal-title {
    font-size: 0.95rem;
}
.modal-container.modal-container--call-customer .modal-body {
    padding: 0.55rem 0.85rem 0.65rem;
}
.modal-container.modal-container--call-customer .form-group {
    margin-bottom: 0.55rem;
}
.modal-container.modal-container--call-customer .form-group label {
    font-size: 0.72rem;
    margin-bottom: 0.2rem;
}
.modal-container.modal-container--call-customer .form-group input,
.modal-container.modal-container--call-customer .form-group textarea {
    padding: 0.42rem 0.55rem;
    font-size: 0.88rem;
}
.modal-container.modal-container--call-customer .form-group textarea {
    min-height: 2.6rem;
}
.modal-container.modal-container--call-customer .call-customer-name-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.modal-container.modal-container--call-customer .modal-footer {
    padding: 0.55rem 0.85rem 0.75rem;
    gap: 0.45rem;
}
.modal-container.modal-container--call-customer .modal-footer .button {
    padding: 0.45rem 0.75rem;
    font-size: 0.85rem;
}

.modal-container.modal-container--call-phone {
    width: min(340px, calc(100% - 2rem));
    max-width: 340px;
    height: auto;
    max-height: none;
    overflow: visible;
}
.modal-container.modal-container--call-phone .modal-header {
    padding: 0.65rem 0.85rem;
}
.modal-container.modal-container--call-phone .modal-title {
    font-size: 0.95rem;
}
.modal-container.modal-container--call-phone .modal-body {
    padding: 0.7rem 0.85rem 0.75rem;
}
.modal-container.modal-container--call-phone .form-group {
    margin-bottom: 0.65rem;
}
.modal-container.modal-container--call-phone .modal-footer {
    padding: 0.15rem 0 0;
    border-top: none;
    justify-content: flex-end;
}

.takeaway-customer-bar {
    flex-shrink: 0;
    padding: 0.4rem 0.55rem 0.45rem;
    border-bottom: 1px solid var(--border-color, var(--light-gray));
    background: transparent;
}

.takeaway-customer-bar--accounts {
    border-bottom: none;
    padding: 0.5rem 0.75rem 0.35rem;
    width: 100%;
    box-sizing: border-box;
}
.pending-call-sale-bar {
    flex-shrink: 0;
    padding: 0.4rem 0.55rem 0.45rem;
    border-bottom: 1px solid var(--border-color, var(--light-gray));
    background: transparent;
}
.pending-call-sale-bar--accounts {
    margin-bottom: 0.65rem;
    padding: 0;
    border-bottom: none;
}
.pending-call-sale-strip {
    display: flex;
    align-items: stretch;
    gap: 0;
    min-height: 2.35rem;
    border-radius: 8px;
    border: 1px dashed rgba(var(--warning-rgb, 245, 158, 11), 0.45);
    background: rgba(var(--warning-rgb, 245, 158, 11), 0.07);
    overflow: hidden;
}
.pending-call-sale-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    color: var(--warning, #d97706);
    background: rgba(var(--warning-rgb, 245, 158, 11), 0.14);
    border-right: 1px dashed rgba(var(--warning-rgb, 245, 158, 11), 0.22);
    font-size: 0.82rem;
}
.pending-call-sale-phone {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0 0.6rem;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--text-primary, #0f172a);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pending-call-sale-save-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0.28rem 0.32rem 0.28rem 0;
    padding: 0 0.75rem;
    min-height: 1.85rem;
    border: none;
    border-radius: 6px;
    background: var(--primary, #242424);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, transform 0.1s ease;
}
.pending-call-sale-save-btn:hover {
    filter: brightness(1.08);
}
.pending-call-sale-save-btn:active {
    transform: scale(0.98);
}
.takeaway-customer-strip {
    display: flex;
    align-items: stretch;
    gap: 0;
    min-height: 2.35rem;
    border-radius: 8px;
    border: 1px dashed rgba(var(--primary-rgb, 36, 36, 36), 0.28);
    background: rgba(var(--primary-rgb, 36, 36, 36), 0.04);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.takeaway-customer-strip:focus-within {
    border-style: solid;
    border-color: rgba(var(--primary-rgb, 36, 36, 36), 0.45);
    background: var(--white, #fff);
    box-shadow: 0 1px 0 rgba(var(--primary-rgb, 36, 36, 36), 0.06), 0 4px 14px rgba(15, 23, 42, 0.06);
}
.takeaway-customer-strip-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    color: var(--primary, #242424);
    background: rgba(var(--primary-rgb, 36, 36, 36), 0.1);
    border-right: 1px dashed rgba(var(--primary-rgb, 36, 36, 36), 0.18);
    font-size: 0.82rem;
}
.takeaway-customer-strip-field {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.2rem 0.55rem 0.22rem;
    gap: 0.05rem;
}
.takeaway-customer-strip-label {
    margin: 0;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
    line-height: 1;
}
.takeaway-customer-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.02em;
    background: transparent;
    color: var(--text-primary, #0f172a);
}
.takeaway-customer-input:focus {
    outline: none;
}
.takeaway-customer-input::placeholder {
    color: transparent;
}
.takeaway-customer-strip--print-off {
    opacity: 0.82;
}
.takeaway-customer-strip--print-off .takeaway-customer-strip-icon {
    background: rgba(var(--primary-rgb, 36, 36, 36), 0.05);
    color: var(--text-muted, #64748b);
}
.takeaway-customer-strip-switch {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    padding: 0.15rem 0.45rem 0.12rem;
    border-left: 1px dashed rgba(var(--primary-rgb, 36, 36, 36), 0.18);
    background: rgba(var(--primary-rgb, 36, 36, 36), 0.03);
}
.takeaway-customer-switch-hint {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
    line-height: 1;
    user-select: none;
}
.takeaway-customer-switch {
    flex-shrink: 0;
    margin: 0;
}
.settings-masa-ayar-row--select {
    align-items: center;
}
.settings-masa-ayar-row--select .settings-masa-ayar-input {
    max-width: 220px;
}

.order-details {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    background: var(--white);
    padding: 0;
}

/* Adisyon altı kompakt 4 hızlı ürün; düzenleme modunda --mid ile ortada */
.adisyon-pin-slots {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.3rem;
    padding: 0.3rem 0.4rem 0.35rem;
    border-top: 1px solid var(--light-gray, #e0e0e0);
    background: rgba(0, 0, 0, 0.02);
}
.adisyon-pin-slots:not(.adisyon-pin-slots--edit):not(.adisyon-pin-slots--mid) {
    display: flex;
    flex-wrap: nowrap;
}
.adisyon-pin-slots:not(.adisyon-pin-slots--edit):not(.adisyon-pin-slots--mid) .adisyon-pin-slot {
    flex: 1 1 0;
    min-width: 0;
}
.adisyon-pin-slots--mid {
    position: absolute;
    left: 0.55rem;
    right: 0.55rem;
    top: 42%;
    transform: translateY(-50%);
    z-index: 72;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
    padding: 0.45rem;
}
.adisyon-pin-slots--edit {
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 24px rgba(46, 125, 50, 0.18);
    border-color: rgba(46, 125, 50, 0.35);
}
.adisyon-pin-slot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.2rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    background: var(--white, #fff);
    cursor: pointer;
    overflow: hidden;
    user-select: none;
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
    transition: border-color 0.12s ease, box-shadow 0.12s ease, transform 0.08s ease, background 0.12s ease, filter 0.12s ease;
}
.adisyon-pin-slot--filled:hover {
    border-color: rgba(46, 125, 50, 0.45);
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.14);
}
/* Dokunma/tıklama: tablet’te :active zayıf kalabiliyor — --pressed ile net geri bildirim */
.adisyon-pin-slot:active,
.adisyon-pin-slot.adisyon-pin-slot--pressed {
    transform: scale(0.9);
    background: rgba(46, 125, 50, 0.16);
    border-color: rgba(46, 125, 50, 0.7);
    box-shadow: inset 0 0 0 2px rgba(46, 125, 50, 0.4);
    filter: brightness(0.94);
}
.adisyon-pin-slots--mid .adisyon-pin-slot {
    min-height: 52px;
    padding: 0.25rem;
}
.adisyon-pin-slots--edit .adisyon-pin-slot--empty {
    border-style: dashed;
    border-color: rgba(46, 125, 50, 0.45);
    background: rgba(46, 125, 50, 0.06);
}
.adisyon-pin-slot-plus {
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1;
    color: #2e7d32;
}
.adisyon-pin-slot-img {
    width: 100%;
    height: 100%;
    max-height: 36px;
    object-fit: contain;
    pointer-events: none;
}
.adisyon-pin-slots--mid .adisyon-pin-slot-img {
    max-height: 48px;
}
.adisyon-pin-slot-name {
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    color: var(--text-primary, #263238);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    pointer-events: none;
}
.adisyon-pin-slot-clear {
    position: absolute;
    top: 1px;
    right: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 14px;
    line-height: 16px;
    text-align: center;
    z-index: 2;
}
.adisyon-pin-slot--dragging {
    opacity: 0.55;
    transform: scale(0.96);
}
.adisyon-pin-slot--drop {
    border-color: #2e7d32 !important;
    box-shadow: 0 0 0 2px rgba(46, 125, 50, 0.35);
}

/* Hızlı ürün slot seçim modalı — görünüm blur katmanının üstünde */
.adisyon-pin-product-modal-overlay {
    z-index: 2400 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.45);
}
.adisyon-pin-product-modal {
    width: min(920px, 96vw);
    max-height: min(88vh, 860px);
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: var(--white, #fff);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
}
.adisyon-pin-product-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--light-gray, #e0e0e0);
    background: var(--primary, #1976d2);
    color: #fff;
}
.adisyon-pin-product-modal-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
}
.adisyon-pin-product-modal-close {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    cursor: pointer;
}
.adisyon-pin-product-modal-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem 1rem 0.55rem;
    border-bottom: 1px solid var(--light-gray, #e8e8e8);
}
.adisyon-pin-product-modal-search {
    position: relative;
    display: flex;
    align-items: center;
}
.adisyon-pin-product-modal-search > i {
    position: absolute;
    left: 0.75rem;
    color: #78909c;
    pointer-events: none;
}
.adisyon-pin-product-modal-search-input {
    width: 100%;
    height: 42px;
    padding: 0 0.75rem 0 2.2rem;
    border: 1px solid #cfd8dc;
    border-radius: 10px;
    font-size: 0.95rem;
}
.adisyon-pin-product-modal-cats {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    -webkit-overflow-scrolling: touch;
}
.adisyon-pin-product-modal-cat {
    flex: 0 0 auto;
    padding: 0.35rem 0.75rem;
    border: 1px solid #cfd8dc;
    border-radius: 999px;
    background: #f5f7f8;
    font-size: 0.82rem;
    font-weight: 600;
    color: #37474f;
    cursor: pointer;
    white-space: nowrap;
}
.adisyon-pin-product-modal-cat.active {
    background: var(--primary, #1976d2);
    border-color: var(--primary, #1976d2);
    color: #fff;
}
.adisyon-pin-product-modal-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1rem 1rem;
}
.adisyon-pin-product-modal-loading,
.adisyon-pin-product-modal-empty {
    padding: 2.5rem 1rem;
    text-align: center;
    color: #78909c;
}
.adisyon-pin-product-modal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
    gap: 0.55rem;
}
.adisyon-pin-product-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 138px;
    padding: 0.4rem;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s, box-shadow 0.15s, transform 0.1s;
}
.adisyon-pin-product-card:hover,
.adisyon-pin-product-card:active {
    border-color: var(--primary, #1976d2);
    box-shadow: 0 2px 10px rgba(25, 118, 210, 0.18);
    transform: translateY(-1px);
}
.adisyon-pin-product-card-media {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f4f6f8;
    overflow: hidden;
    margin-bottom: 0.35rem;
}
.adisyon-pin-product-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.adisyon-pin-product-card-media > i {
    font-size: 1.4rem;
    color: #90a4ae;
}
.adisyon-pin-product-card-meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.adisyon-pin-product-card-name {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    color: #263238;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.adisyon-pin-product-card-price {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--primary, #1976d2);
}

/* Adisyon genel notu: liste altı tek satır; tıklanınca düzenleme */
.order-adisyon-note-wrap {
    flex-shrink: 0;
    border-top: 1px solid var(--light-gray);
    background: rgba(0, 0, 0, 0.02);
    padding: 0.35rem 0.5rem;
}
.order-adisyon-note-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 40px;
    padding: 0.35rem 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-secondary, #546e7a);
    font-size: 0.78rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.order-adisyon-note-trigger:hover {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.12);
}
.order-adisyon-note-trigger .fa-sticky-note {
    flex-shrink: 0;
    color: var(--primary, #e0143a);
    opacity: 0.85;
}
.order-adisyon-note-preview {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary, #333);
}
.order-adisyon-note-edit-ico {
    flex-shrink: 0;
    font-size: 0.72rem;
    opacity: 0.65;
}
.order-adisyon-note-editor {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.order-adisyon-note-textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 4.5rem;
    padding: 0.45rem 0.55rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    resize: vertical;
    font-family: inherit;
}
.order-adisyon-note-editor-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.order-adisyon-note-btn {
    padding: 0.35rem 0.75rem;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
}
.order-adisyon-note-btn-cancel {
    background: var(--light-gray, #eceff1);
    color: var(--text-primary, #333);
}
.order-adisyon-note-btn-quick {
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    border: 1px solid #ffb74d;
    color: #e65100;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.order-adisyon-note-btn-quick:hover:not(:disabled) {
    background: linear-gradient(135deg, #ef6c00 0%, #e65100 100%);
    border-color: #e65100;
    color: #fff;
}
.order-adisyon-note-btn-save {
    background: var(--primary, #e0143a);
    color: #fff;
}
.order-adisyon-note-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.order-adisyon-note-fab-empty {
    display: block;
    width: 100%;
    font-size: 0.72rem;
    color: var(--text-secondary, #78909c);
    padding: 0.25rem 0.15rem;
    font-style: italic;
}
.theme-dark .order-adisyon-note-wrap {
    background: rgba(255, 255, 255, 0.04);
    border-top-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .order-adisyon-note-trigger {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.75);
}
.theme-dark .order-adisyon-note-preview {
    color: rgba(255, 255, 255, 0.9);
}

/* Adisyon notu: liste altında düzenleme + sağda FAB (Hesap ödemesi gibi yukarı menü) */
.order-adisyon-note-wrap--editing {
    padding: 0.45rem 0.5rem;
    border-top-color: rgba(224, 20, 58, 0.35);
    box-shadow: inset 0 1px 0 rgba(224, 20, 58, 0.12);
}
.order-adisyon-note-inline-editor {
    width: 100%;
    min-width: 0;
}
.order-adisyon-note-inline-editor--overlay {
    position: absolute;
    inset: 0;
    z-index: 11020;
    pointer-events: auto;
}
.order-adisyon-note-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: stretch;
    padding: 0.45rem 0.5rem;
    background: rgba(255, 255, 255, 0.08);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.order-adisyon-note-overlay-card {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.order-adisyon-note-fab-items--inline {
    position: static;
    width: 100%;
    min-width: 0;
    max-height: min(34vh, 220px);
    margin-bottom: 0.1rem;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.order-adisyon-note-fab-items.order-adisyon-note-fab-items--inline {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
}
.order-adisyon-note-fab-items--inline.payment-fab-open {
    transform: none;
}
.order-adisyon-note-fab-items--inline .order-adisyon-note-fab-item {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.order-adisyon-note-overlay-card .order-adisyon-note-inline-main {
    width: 100%;
}
.order-adisyon-note-editor-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.45rem;
    min-height: 0;
}
.order-adisyon-note-inline-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.order-adisyon-note-inline-main .order-adisyon-note-textarea {
    min-height: 5.5rem;
    max-height: 10rem;
}
/* Hazır notlar FAB: ödeme payment-fab-wrap ile aynı mantık, menü sağa hizalı yukarı açılır */
.order-adisyon-note-fab-wrap {
    position: relative;
    flex-shrink: 0;
    width: 52px;
    min-width: 52px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
}
.order-adisyon-note-fab-items {
    position: absolute;
    bottom: 100%;
    left: auto;
    right: 0;
    min-width: 160px;
    margin-bottom: 0.4rem;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.35rem;
    z-index: 10051;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events: none;
    max-height: min(50vh, 280px);
    overflow-y: auto;
    padding-bottom: 0.1rem;
}
.order-adisyon-note-fab-items.payment-fab-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}
.order-adisyon-note-fab-main {
    width: 100%;
    min-height: 48px;
    border-radius: var(--border-radius);
    border: 2px solid rgba(224, 20, 58, 0.35);
    background: linear-gradient(135deg, rgba(224, 20, 58, 0.12) 0%, rgba(224, 20, 58, 0.06) 100%);
    color: var(--primary, #e0143a);
    font-size: 1.15rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.order-adisyon-note-fab-main:hover:not(:disabled) {
    border-color: rgba(224, 20, 58, 0.55);
    box-shadow: 0 3px 12px rgba(224, 20, 58, 0.2);
}
.order-adisyon-note-fab-main:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.order-adisyon-note-fab-item {
    width: 100%;
    text-align: left;
    padding: 0.55rem 0.65rem;
    border-radius: var(--border-radius);
    border: 2px solid #e0e0e0;
    background: var(--white, #fff);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    cursor: pointer;
    line-height: 1.25;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.order-adisyon-note-fab-item-wrap {
    position: relative;
    width: 100%;
}
.order-adisyon-note-fab-item-wrap .order-adisyon-note-fab-item {
    padding-right: 1.85rem;
}
.order-adisyon-note-fab-item-del {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    z-index: 2;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(198, 40, 40, 0.12);
    color: #c62828;
    font-size: 0.65rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s ease, color 0.12s ease;
}
.order-adisyon-note-fab-item-del:hover {
    background: #c62828;
    color: #fff;
}
.order-adisyon-note-fab-item:hover {
    background: rgba(76, 175, 80, 0.1);
    border-color: var(--success);
}
.theme-dark .order-adisyon-note-wrap--editing {
    border-top-color: rgba(224, 20, 58, 0.45);
}
.theme-dark .order-adisyon-note-fab-main {
    background: rgba(224, 20, 58, 0.18);
    border-color: rgba(224, 20, 58, 0.45);
    color: #ff8a9b;
}
.theme-dark .order-adisyon-note-fab-item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.9);
}

/* 1366x768 / dokunmatik: tüm butonlar eşit en-boy, iri dokunma alanı */
/* Normal mod: 3 sütun grid — İptal / Yazdır / Hesap aynı satır yüksekliği */
.payment-tip-bar {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem 0.15rem;
    flex-shrink: 0;
    flex-wrap: wrap;
    border-top: 1px solid var(--light-gray);
}
.payment-tip-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
}
.payment-tip-label i { margin-right: 0.2rem; }
.payment-tip-amount-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    background: var(--bg-secondary, #f5f5f5);
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    padding: 0.15rem 0.4rem;
    min-width: 5.5rem;
}
.payment-tip-amount-input {
    width: 4.2rem;
    border: none;
    background: transparent;
    font-size: 0.9rem;
    font-weight: 600;
    outline: none;
    min-height: 28px;
}
.payment-tip-currency { font-size: 0.8rem; color: var(--text-muted); }
.payment-tip-method-toggle {
    display: inline-flex;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    overflow: hidden;
}
.payment-tip-method-btn {
    border: none;
    background: transparent;
    padding: 0.3rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--text-muted);
}
.payment-tip-method-btn.active {
    background: var(--primary, #1565c0);
    color: #fff;
}
.payment-tip-partial-controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.payment-tip-hint { font-weight: 400; opacity: 0.75; }
.tip-badge {
    display: inline-block;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    background: rgba(21, 101, 192, 0.12);
    color: var(--primary, #1565c0);
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}
.tip-badge--lg { font-size: 0.9rem; padding: 0.25rem 0.55rem; }
.tip-add-btn {
    border: 1px dashed var(--border-color, #bbb);
    background: transparent;
    color: var(--text-muted);
    border-radius: 4px;
    width: 1.6rem;
    height: 1.6rem;
    cursor: pointer;
    font-weight: 700;
    line-height: 1;
}
.tip-add-btn:hover { border-color: var(--primary, #1565c0); color: var(--primary, #1565c0); }
.tip-badge--readonly { cursor: default; }
.sale-detail-tip-card {
    padding: 0;
}
.sale-detail-tip-block {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.7rem 0.75rem 0.75rem;
}
.sale-detail-tip-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.sale-detail-tip-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.sale-detail-tip-kicker i {
    color: #2e7d32;
    font-size: 0.82rem;
}
.sale-detail-tip-amount {
    font-size: 0.95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
    line-height: 1.3;
    word-break: break-word;
}
.sale-detail-tip-empty {
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 600;
}
.sale-detail-tip-action {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.4rem;
    padding: 0.45rem 0.75rem;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
}
.sale-detail-tip-action:hover {
    filter: brightness(1.06);
}
.sale-detail-tip-action--has {
    background: transparent;
    border: 1px solid rgba(46, 125, 50, 0.45);
    color: #2e7d32;
}
.sale-detail-tip-action--has:hover {
    background: rgba(76, 175, 80, 0.1);
    filter: none;
}
.theme-dark .sale-detail-tip-action--has {
    border-color: rgba(165, 214, 167, 0.45);
    color: #a5d6a7;
}
.tip-edit-belge, .tip-edit-massa { margin: 0 0 0.5rem; font-size: 0.9rem; }
.tip-edit-hint { font-size: 0.8rem; color: var(--text-muted); margin-top: 0.5rem; }
.reports-sticky-chip--tip .reports-sticky-chip-value { color: var(--primary, #1565c0); }
.summary-value-tip { color: var(--primary, #1565c0); font-weight: 700; }
.col-tip { text-align: center; min-width: 4.5rem; }

.order-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.5rem 0.6rem;
    border-top: 1px solid var(--light-gray);
    min-height: 0;
    flex-shrink: 0;
    align-items: stretch;
}

/* Servant: HESAP yokken İptal+Yazdır %50; iptal yokken Hesap+Yazdır %50 */
.order-actions.order-actions--servant-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.order-actions.order-actions--servant-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.order-actions.order-actions--servant-two .print-fab-wrap,
.order-actions.order-actions--servant-two .btn-cancel,
.order-actions.order-actions--servant-two .servant-hesap-fis-btn,
.order-actions.order-actions--servant-two .print-fab-main,
.order-actions.order-actions--servant-three .servant-hesap-fis-btn,
.order-actions.order-actions--servant-three .print-fab-main {
    width: 100%;
    min-width: 0;
}
.order-actions.order-actions--servant-two .print-fab-wrap .print-fab-main {
    width: 100%;
    flex: 1;
}
.order-actions .print-fab-main.print-fab-item-grupla {
    position: relative;
    overflow: hidden;
}
/* Servant HESAP = hesap fişi (yazdır FAB Hesap ile aynı mavi; ödeme yeşili değil) */
.order-actions .servant-hesap-fis-btn {
    background: linear-gradient(135deg, #42a5f5 0%, #0d47a1 100%) !important;
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
@media (hover: hover) and (pointer: fine) {
    .order-actions .servant-hesap-fis-btn:hover:not(:disabled) {
        filter: brightness(1.08) saturate(1.05);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(13, 71, 161, 0.42);
    }
}
.order-actions .servant-hesap-fis-btn:active:not(:disabled) {
    transform: scale(0.98);
    filter: brightness(0.93);
}

.order-actions .btn,
.order-actions .order-action-btn {
    min-width: 0;
    min-height: 56px;
    padding: 0.5rem 0.4rem;
    border: none;
    border-radius: var(--border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    font-size: 0.8rem;
}

.order-actions.order-actions-market .btn,
.order-actions.order-actions-market .order-action-btn {
    flex: 1;
}

.order-actions .btn i,
.order-actions .order-action-btn i {
    font-size: 1.1rem;
}

.order-actions .btn-cancel {
    background: linear-gradient(135deg, #ef5350 0%, #b71c1c 100%);
    color: var(--white);
    border: 2px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.order-actions .btn-print {
    background: linear-gradient(135deg, #6d6d6d 0%, #37474f 100%);
    color: var(--white);
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

/* HESAP: Ürün Aktar ile aynı yeşil gradient; genel .btn-success !important kurallarını ezer */
.order-actions .btn-save.order-action-btn.payment-fab-main {
    background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%) !important;
    color: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

@media (hover: hover) and (pointer: fine) {
    /* Global .btn-cancel:hover (#5a6268) arka planı gradient’i ezer; açık kırmızı gradient ile hover */
    .order-actions .btn-cancel:hover:not(:disabled) {
        background: linear-gradient(135deg, #f44336 0%, #c62828 100%);
        color: var(--white);
        border-color: rgba(255, 255, 255, 0.28);
        filter: brightness(1.04) saturate(1.08);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(183, 28, 28, 0.42);
    }
    .order-actions .btn-print:hover:not(:disabled) {
        filter: brightness(1.08) saturate(1.05);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    }
    .order-actions .btn-save.order-action-btn.payment-fab-main:hover:not(:disabled) {
        background: linear-gradient(135deg, #81c784 0%, #388e3c 100%) !important;
        filter: brightness(1.03);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(46, 125, 50, 0.35);
    }
}

.order-actions .btn-cancel:active:not(:disabled) {
    background: linear-gradient(135deg, #e53935 0%, #b71c1c 100%);
    color: var(--white);
    transform: scale(0.98);
    filter: brightness(0.96);
    box-shadow: 0 1px 8px rgba(183, 28, 28, 0.35);
}
.order-actions .btn-print:active:not(:disabled),
.order-actions .btn-save.order-action-btn.payment-fab-main:active:not(:disabled) {
    transform: scale(0.98);
    filter: brightness(0.94);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

.order-actions .btn:disabled,
.order-actions .order-action-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.order-actions .btn:disabled:hover,
.order-actions .order-action-btn:disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Market modunda adisyon altı: üst satır Yazdır/İptal, alt satır büyük Nakit/Kart */
.order-actions.order-actions-market {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.4rem 0.5rem;
}
.order-actions-market-row {
    display: flex;
    gap: 0.5rem;
}
/* Üst satır: iki sütun kesin eşit genişlik + aynı yükseklik (print-fab-wrap iç yapısı yüzünden flex tek başına kayıyordu) */
.order-actions-market-row--top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 0.5rem;
}
.price-lookup-modal { width: min(480px, 94vw); }
.price-lookup-modal .price-lookup-body {
    padding: 1rem 1.15rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.price-lookup-search-wrap {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.15rem;
    padding: 0.45rem 0.5rem 0.45rem 0.9rem;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--input-bg, var(--card-bg, #fff));
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.price-lookup-search-wrap:focus-within {
    border-color: var(--success);
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.22);
}
.price-lookup-search-wrap > i {
    color: var(--text-muted);
    font-size: 1.05rem;
    flex-shrink: 0;
}
.price-lookup-search {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 1.05rem;
    line-height: 1.35;
    color: var(--text-primary);
    padding: 0.35rem 0;
}
.price-lookup-search::placeholder { color: var(--text-muted); opacity: 0.85; }
.price-lookup-search:focus { outline: none; }
.price-lookup-search-go {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    border: none;
    border-radius: 8px;
    background: var(--primary);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}
.price-lookup-search-go:hover { filter: brightness(1.08); }
.price-lookup-hits {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 220px;
    overflow: auto;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--card-bg);
}
.price-lookup-hits li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    font-size: 0.98rem;
}
.price-lookup-hits li:last-child { border-bottom: none; }
.price-lookup-hits li:hover { background: var(--hover-bg); }
.price-lookup-empty {
    margin: 0;
    padding: 0.65rem 0.2rem;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.92rem;
}
.price-lookup-result { text-align: center; padding: 0.15rem 0 0; }
.price-lookup-name { font-size: 1.08rem; font-weight: 700; margin-bottom: 0.65rem; }
.price-lookup-price-input {
    width: 100%;
    font-size: 2.4rem;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.02em;
    padding: 0.45rem 0.5rem;
    border: 2px solid var(--primary);
    border-radius: 10px;
    background: var(--card-bg);
    color: var(--text-primary);
}
.price-lookup-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    margin-top: 0.75rem;
}
.price-lookup-save,
.price-lookup-sell { width: 100%; min-height: 2.6rem; font-weight: 700; margin-top: 0; }
.theme-dark .price-lookup-search-wrap { background: var(--input-bg, rgba(255, 255, 255, 0.06)); }
.fast-sale-cari-modal { width: min(520px, 94vw); }
.fast-sale-cari-list { list-style: none; margin: 0.65rem 0 0; padding: 0; max-height: 220px; overflow: auto; border: 1px solid var(--border-color); border-radius: var(--border-radius); }
.fast-sale-cari-item {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0.7rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
}
.fast-sale-cari-item.selected { background: rgba(21, 101, 192, 0.12); }
.fast-sale-cari-empty { padding: 0.75rem; color: var(--text-muted); }
.fast-sale-cari-pay { margin-top: 0.85rem; display: flex; flex-direction: column; gap: 0.35rem; }
.fast-sale-cari-pills { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.35rem; }
.kasa-add-modal-type-row--none { font-style: italic; opacity: 0.92; }
.order-actions-market-row--top .print-fab-wrap,
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    min-width: 0;
    min-height: 0;
}
.order-actions-market-row--top .print-fab-wrap .print-fab-main.order-action-btn-inline {
    flex: 1 1 auto;
    width: 100%;
    min-height: 36px;
    height: 100%;
    box-sizing: border-box;
}
.order-actions-market-row--top .btn.btn-cancel.order-action-btn-inline {
    width: 100%;
    min-height: 36px;
    height: 100%;
    box-sizing: border-box;
    align-self: stretch;
}
.order-actions-market-cancel-wrap {
    display: flex;
    min-width: 0;
    min-height: 0;
}
.order-actions-market-cancel-wrap .btn.btn-cancel {
    flex: 1 1 auto;
}
.order-action-btn-inline {
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.45rem !important;
    min-height: 36px !important;
    padding: 0.22rem 0.45rem !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    border-radius: var(--border-radius) !important;
}
.order-action-btn-inline i {
    flex-shrink: 0;
    width: 1.05em;
    text-align: center;
    font-size: 0.86rem !important;
}
/* Alt satır: kaç ödeme butonu olursa eşit pay (Nakit + bir veya daha fazla Kart) */
.order-actions-market-row--bottom {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.5rem;
}
.order-actions-market-row--bottom .market-pay-btn {
    min-height: 82px;
    font-size: 0.8rem;
    font-weight: 800;
    flex-direction: row;
    gap: 0.65rem;
    width: 100%;
    min-width: 0;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    border-radius: var(--border-radius);
}
/* Nakit + Kablolu + Kablosuz: ikon ve metin alt alta */
.order-actions-market-row--bottom-triple .market-pay-btn {
    flex-direction: column;
    gap: 0.28rem;
}
.order-actions-market-row--bottom .market-pay-btn i {
    flex-shrink: 0;
    width: 1.3em;
    text-align: center;
    font-size: 1.24rem;
}
.order-actions-market-row--bottom-triple .market-pay-btn i {
    font-size: 1.05rem;
}
.order-actions-market-row--bottom .market-pay-btn span {
    min-width: 0;
    text-align: center;
    line-height: 1.15;
}
.market-pay-btn-cash {
    background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
.market-pay-btn-card {
    background: linear-gradient(135deg, #42a5f5 0%, #1565c0 100%);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
/* Ayrı ayrı ödeme şeridindeki kablosuz ile uyumlu (Nakit + Kablolu + Kablosuz üçlü) */
.market-pay-btn--wireless {
    background: linear-gradient(135deg, #26c6da 0%, #00838f 100%);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
@media (hover: hover) and (pointer: fine) {
    .order-actions-market-row--bottom .market-pay-btn:hover:not(:disabled) {
        filter: brightness(1.08) saturate(1.05);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
    }
}
.order-actions-market-row--bottom .market-pay-btn:active:not(:disabled) {
    transform: scale(0.98);
    filter: brightness(0.93);
}
/* Market mini şerit yazdır: iptalden net ayrışsın */
.order-actions-market .print-fab-main.btn-print,
.order-actions-market .print-fab-main.order-action-btn {
    background: linear-gradient(135deg, #546E7A 0%, #455A64 100%) !important;
    color: #fff !important;
}
.order-actions-market .print-fab-main.btn-print:hover:not(:disabled),
.order-actions-market .print-fab-main.order-action-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #607D8B 0%, #4E6671 100%) !important;
}

/* FAB sarmalayıcılar: eşit genişlik (flex: 1), dokunmatik yükseklik */
.payment-fab-wrap,
.print-fab-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    min-height: 0;
}

.payment-fab-wrap .payment-fab-main,
.print-fab-wrap .print-fab-main {
    width: 100%;
    min-height: 56px;
    flex: 1 1 auto;
    box-sizing: border-box;
}

/* Adisyon altı 3’lü satır: grid hücresini doldur (İptal ile aynı yükseklik) */
.order-actions:not(.order-actions-market) > .print-fab-wrap,
.order-actions:not(.order-actions-market) > .payment-fab-wrap {
    min-height: 56px;
}

.order-actions:not(.order-actions-market) > .btn-cancel.order-action-btn {
    box-sizing: border-box;
    min-height: 56px;
    height: 100%;
    align-self: stretch;
}

.order-actions:not(.order-actions-market) .print-fab-main.order-action-btn,
.order-actions:not(.order-actions-market) .payment-fab-main.order-action-btn {
    min-height: 56px;
    height: 100%;
    flex: 1 1 auto;
}

/* FAB açıkken: tam ekran overlay (pos-app kökünde); menüler portal ile viewport üstünde */
.payment-fab-backdrop {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10050;
    background: rgba(15, 23, 42, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    transition: opacity 0.2s ease;
}

.payment-fab-backdrop--global {
    z-index: 10050;
}

.payment-fab-menu-open .right-panel,
.print-fab-menu-open .right-panel {
    pointer-events: none;
}

.payment-fab-portal-root,
.print-fab-portal-root {
    pointer-events: none;
}

/* Portal: aynı payment-fab-wrap / print-fab-wrap hiyerarşisi — mevcut FAB stilleri geçerli kalsın */
.payment-fab-wrap.payment-fab-wrap--portal,
.print-fab-wrap.print-fab-wrap--portal {
    flex: none;
    min-height: 0;
    width: 100%;
    position: relative;
    pointer-events: auto;
}

.payment-fab-wrap--portal .payment-fab-items,
.print-fab-wrap--portal .print-fab-items {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    z-index: 1;
}

.payment-fab-wrap--portal .payment-fab-items {
    max-width: none;
    min-width: 0;
}

.print-fab-wrap--portal .print-fab-items {
    width: 100%;
    min-width: 0;
}

.payment-fab-menu-open .payment-fab-wrap:not(.payment-fab-wrap--portal) > .payment-fab-items,
.print-fab-menu-open .print-fab-wrap:not(.print-fab-wrap--portal) > .print-fab-items {
    visibility: hidden;
    pointer-events: none;
}

.adisyon-note-quick-fab-open .left-panel {
    overflow: visible;
    z-index: 10050;
}

.payment-fab-items,
.print-fab-items {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.4rem;
    z-index: 10080;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events: none;
}

/* Ödeme FAB: Hesap butonundan daha geniş ve uzun, ortada */
.payment-fab-wrap .payment-fab-items {
    left: 50%;
    right: auto;
    max-width: 200px;
    min-width: 170px;
    transform: translateX(-50%) translateY(8px);
}

.payment-fab-wrap .payment-fab-items.payment-fab-open {
    transform: translateX(-50%) translateY(0);
}

.payment-fab-items.payment-fab-open,
.print-fab-items.payment-fab-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Yazdır > Grupla menüsü yukarı taşınca tam genişlikteki adisyon notu düzenleyici katmanıyla çakışıyor; dokunmatikte arkada kalır */
.pos-app.print-fab-menu-open .order-adisyon-note-editor-layer,
.pos-app.payment-fab-menu-open .order-adisyon-note-editor-layer {
    pointer-events: none;
}

/* Yazdır/Ödeme FAB menüsü açıkken hızlı ürün slotları tıklanmasın (Grupla üstüne biner) */
.pos-app.print-fab-menu-open .adisyon-pin-slots,
.pos-app.payment-fab-menu-open .adisyon-pin-slots {
    pointer-events: none;
}

.payment-fab-wrap .payment-fab-items.payment-fab-open {
    transform: translateX(-50%) translateY(0);
}

/* Yazdır FAB: Ödeme FAB ile aynı – geniş, ortada, kesilmesin */
.print-fab-wrap .print-fab-items {
    left: 50%;
    right: auto;
    width: 130px;
    min-width: 130px;
    transform: translateX(-50%) translateY(8px);
}

.print-fab-wrap .print-fab-items.payment-fab-open {
    transform: translateX(-50%) translateY(0);
}

/* FAB öğeleri: Yazdır FAB öğeleri de ödeme ile aynı irilikte */
.print-fab-wrap .print-fab-item {
    display: inline-flex;
    align-items: center;
    justify-content: start;
    gap: 0.6rem;
    min-height: 52px;
    padding: 0.65rem 0.85rem;
    border-radius: var(--border-radius);
    border: 2px solid #e0e0e0;
    background: var(--white);
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.print-fab-wrap .print-fab-item i {
    font-size: 1.25rem;
    width: 1.5rem;
    text-align: center;
}

/* Diğer FAB’larda kullanılan küçük öğe stili (gerekirse) */
.print-fab-item {
    min-height: 48px;
    padding: 0.55rem 0.65rem;
    font-size: 0.9rem;
}

/* Ödeme FAB öğeleri: Ayrı ayrı çubuğuyla aynı gradient + kenar/ışıltı dili */
.payment-fab-wrap .payment-fab-item {
    display: inline-flex;
    align-items: center;
    justify-content: start;
    gap: 0.6rem;
    min-height: 52px;
    padding: 0.65rem 0.85rem;
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.22);
    font-weight: 600;
    font-size: 0.95rem;
    color: #fff;
    cursor: pointer;
    transition:
        transform 0.12s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease,
        filter 0.15s ease;
    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.payment-fab-wrap .payment-fab-item i,
.print-fab-wrap .print-fab-item i {
    color: #fff;
    font-size: 1.25rem;
    width: 1.5rem;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .payment-fab-wrap .payment-fab-item:hover,
    .print-fab-wrap .print-fab-item:hover {
        transform: translateY(-2px);
        filter: brightness(1.1) saturate(1.08);
        box-shadow:
            0 6px 18px rgba(0, 0, 0, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.22);
        border-color: rgba(255, 255, 255, 0.42);
    }
}

.payment-fab-wrap .payment-fab-item:active,
.print-fab-wrap .print-fab-item:active {
    transform: scale(0.98);
    filter: brightness(0.93);
    box-shadow:
        inset 0 3px 10px rgba(0, 0, 0, 0.28),
        0 1px 4px rgba(0, 0, 0, 0.15);
}

/* Ödeme FAB: Ayrı ayrı (split-odeme-*) ile aynı iki duraklı gradientler */
.payment-fab-wrap .payment-fab-item.payment-fab-cash { background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-card-kablolu { background: linear-gradient(135deg, #42a5f5 0%, #1565c0 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-card-kablosuz { background: linear-gradient(135deg, #26c6da 0%, #00838f 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-card { background: linear-gradient(135deg, #42a5f5 0%, #1565c0 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-mealVoucher { background: linear-gradient(135deg, #ab47bc 0%, #6a1b9a 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-kapora { background: linear-gradient(135deg, #26a69a 0%, #00695c 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-giftVoucher { background: linear-gradient(135deg, #ec407a 0%, #ad1457 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-membershipCard { background: linear-gradient(135deg, #7e57c2 0%, #4527a0 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-transfer { background: linear-gradient(135deg, #ffa726 0%, #ef6c00 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-qr { background: linear-gradient(135deg, #8d6e63 0%, #4e342e 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-credit { background: linear-gradient(135deg, #ff7043 0%, #d84315 100%); }
/* KARMA: cyan→lacivert (havale/veresiye turuncusu ve yemek/üye morundan uzak) */
.payment-fab-wrap .payment-fab-item.payment-fab-partial { background: linear-gradient(135deg, #29b6f6 0%, #01579b 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-separate { background: linear-gradient(135deg, #7986cb 0%, #303f9f 100%); }
.payment-fab-wrap .payment-fab-item.payment-fab-complimentary {
    background: linear-gradient(135deg, #f48fb1 0%, #ad1457 100%);
    color: #fff;
}
.payment-fab-wrap .payment-fab-item.payment-fab-complimentary i {
    color: #fff;
}
/* Hızlı market: diğer ek ödeme düğmeleriyle aynı koyu yarı saydam zemin (pembe gradient yok) */
.fast-sale-pay-extra-complimentary {
    background: rgba(0, 0, 0, 0.22) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
/* Kapora / hediye çeki: hızlı market panelinde FAB’daki gibi renkli değil, diğer kısayollar gibi nötr */
.fast-sale-pay-extra-kapora,
.fast-sale-pay-extra-giftVoucher {
    background: rgba(0, 0, 0, 0.22) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.fast-sale-pay-extra-kapora i,
.fast-sale-pay-extra-giftVoucher i {
    color: rgba(255, 255, 255, 0.9) !important;
}
.fast-sale-pay-extra-membershipCard {
    background: rgba(0, 0, 0, 0.22) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.fast-sale-pay-extra-membershipCard i {
    color: rgba(255, 255, 255, 0.9) !important;
}
.fast-sale-pay-extra-complimentary i {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Yazdır FAB: Grupla=Yeşil, Hesap=Mavi, Paket=Turuncu; solid, beyaz font/ikon */
.print-fab-wrap .print-fab-item {
    border: none;
    color: #fff;
}
.print-fab-item:nth-child(1) {
    background: linear-gradient(135deg, #66bb6a 0%, #1b5e20 100%);
}
.print-fab-item:nth-child(2) {
    background: linear-gradient(135deg, #42a5f5 0%, #0d47a1 100%);
}
.print-fab-item:nth-child(3) {
    background: linear-gradient(135deg, #ffa726 0%, #e65100 100%);
}

/* Grupla: 1 sn basılı tutunca soldan sağa dolan progress, Tekrar... = tüm satırları yazdır */
.print-fab-item-grupla {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #66bb6a 0%, #1b5e20 100%) !important;
}
.print-fab-grupla-progress {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.35);
    transition: width 0.05s linear;
    z-index: 0;
    pointer-events: none;
}
.print-fab-item-grupla i,
.print-fab-item-grupla > span:last-of-type {
    position: relative;
    z-index: 1;
}

/* Sağ Panel */
.right-panel {
    display: flex;
    flex-direction: column;
    height: var(--app-shell-h, 100vh);
    max-height: var(--app-shell-h, 100vh);
    position: relative;
    overflow: visible; /* Bildirim dropdown'ının görünmesi için; content-area kendi overflow'unu kullanır */
    transition: filter 0.2s ease;
    min-width: 0; /* Uzun tablo/metin içeriğinin grid sütununu sağa itmesini önler */
}

/* Quick list açıkken sağ panel blur + tıklanabilir (tıklanınca liste kapanır) */
/* Blur köşelerinde beyazlık olmaması: arka plan eşleştirilir, blur izole edilir */
.right-panel.right-panel-quick-list-open {
    filter: none;
    opacity: 0.82;
    cursor: pointer;
    background-color: var(--light-gray);
    isolation: isolate;
}

/* Title bar right-panel içinde ilk sırada, top-navigation'ın üstünde */
.right-panel > .custom-title-bar {
    order: -1; /* En üste al */
    flex-shrink: 0; /* Küçülmesini önle */
}

.content-area {
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    background-color: var(--light-gray);
    display: flex;
    flex-direction: column;
    position: relative;
}

/* ============================================
   Top Navigation (Laravel TopNavigation.vue'den)
   ============================================ */
.top-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    background: var(--nav-bg); /* fallback */
    background: linear-gradient(0deg, var(--nav-bg) 40%, var(--nav-bg-dark) 100%);
    color: var(--nav-text);
    border-bottom: 1px solid var(--nav-bg-dark);
    height: var(--header-height);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    z-index: 1;
    flex-shrink: 0; /* Navigation'ın küçülmesini önle */
}

/* POS modu: sabit yükseklik yok; ikon + metin yan yana */
.top-navigation.top-navigation--pos-mode {
    height: auto;
    min-height: 0;
}
.top-navigation--pos-mode .nav-item {
    flex-direction: row;
    gap: 0.5rem;
    padding: 0.7rem 0.55rem;
}
.top-navigation--pos-mode .nav-item i {
    margin-bottom: 0;
}
.top-navigation--pos-mode .nav-item:not(:first-child)::before {
    top: 18%;
    bottom: 18%;
}

.nav-items {
    display: flex;
    flex-wrap: nowrap;
    flex: 1;
}

/* Menü öğeleri arasında silik dikey ayraç */
.nav-item:not(:first-child) {
    position: relative;
}
.nav-item:not(:first-child)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 22%;
    bottom: 22%;
    width: 1px;
    background: rgba(255, 255, 255, 0.2);
    pointer-events: none;
}

.nav-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 0.4rem; /* küçültüldü */
    border: none;
    background: none;
    color: var(--nav-text);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
    font-weight: 700; /* Ubuntu'da regular/bold geçişinde farkı önlemek için hep kalın */
    flex: 1;
    white-space: nowrap;
    border-radius: 0;
}

.nav-item i {
    font-size: 1.1rem; /* 1.25rem'den küçültüldü */
    margin-bottom: 0.35rem; /* 0.5rem'den küçültüldü */
}

.nav-item span {
    font-size: 0.7rem; /* 0.8rem'den küçültüldü */
}

.nav-item:hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.nav-item.active {
    background-color: var(--nav-active-bg);
    font-weight: 700; /* aktifte de kalın, ince–kalın geçişi olmasın */
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.nav-badge {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0.05rem 0.25rem 0 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.1rem;
    text-align: center;
    text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
    color: #fff;
    background: #ff5722;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.nav-badge-calls {
    background: #4caf50;
}

.nav-badge-tables {
    background: #ff9800;
}

.nav-badge-accounts {
    background: #ff9800;
}

.nav-badge-transfer {
    background: #2e7d32;
}

.nav-badge-gelal {
    background: #26a69a;
}

.nav-badge-playarea {
    background: #7e57c2;
}
.nav-badge-playarea-alert {
    background: #ff9800;
    color: #fff;
    min-width: 1.1rem;
    animation: playareaNavAlert 1s ease-in-out infinite;
}

.nav-badge-numaratorqueue {
    background: #00897b;
}

.nav-badge-lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    padding: 0;
    background: #455a64;
    font-size: 0.58rem;
    line-height: 1;
}
.nav-badge-lock i {
    margin: 0;
    font-size: 0.58rem;
}
.nav-badge-lock--open {
    background: #2e7d32;
}

.reports-kasa-lock-gate {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(36, 48, 56, 0.92);
}
.reports-kasa-lock-card {
    text-align: center;
    color: #fff;
    max-width: 22rem;
    padding: 1.5rem;
}
.reports-kasa-lock-card i.fa-lock {
    font-size: 2rem;
    margin-bottom: 0.75rem;
    opacity: 0.9;
}
.reports-kasa-lock-card h3 {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
}
.reports-kasa-lock-card p {
    margin: 0 0 1.25rem;
    opacity: 0.85;
    font-size: 0.95rem;
}

.nav-online-shop-dots {
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: center;
    align-items: center;
    max-width: 90%;
    line-height: 0;
    pointer-events: none;
}

.nav-online-shop-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
    /* box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); */
}

.nav-online-shop-dot--open {
    background: #22c55e;
    /* box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.35); */
}

.nav-item:not(.active) .nav-online-shop-dot:not(.nav-online-shop-dot--open) {
    background: rgba(0, 0, 0, 0.4);
}

.nav-online-busy {
    position: absolute;
    top: 4px;
    right: 6px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #fbbf24;
    font-size: 0.65rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    z-index: 2;
}
.nav-online-busy i { font-size: 0.7rem; margin: 0; }
.nav-online-busy em { font-style: normal; }

.online-busy-minute-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
.online-sidebar-busy-btn {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    width: calc(100% - 1.5rem);
    margin: 0.55rem 0.75rem 0.2rem;
    padding: 0.55rem 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    cursor: pointer;
    text-align: left;
    font: inherit;
    transition: background 0.2s, border-color 0.2s;
}
.online-sidebar-busy-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.42);
}
.online-sidebar-busy-icon {
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 0.78rem;
}
.online-sidebar-busy-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.online-sidebar-busy-copy strong {
    font-size: 0.8rem;
    font-weight: 650;
    color: #fff;
    line-height: 1.2;
}
.online-sidebar-busy-copy small {
    font-size: 0.68rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.3;
}
.online-sidebar-busy-btn.is-paused {
    background: rgba(0, 0, 0, 0.28);
    border-color: rgba(255, 255, 255, 0.4);
}
.online-sidebar-busy-btn.is-paused:hover {
    background: rgba(0, 0, 0, 0.38);
}
.online-sidebar-busy-btn.is-paused .online-sidebar-busy-icon {
    background: rgba(253, 224, 71, 0.22);
    color: #fde68a;
}

.product-card.product-card--stock-blocked {
    opacity: 0.48;
    filter: grayscale(0.15) saturate(0.85);
    box-shadow: inset 0 0 0 2px rgba(185, 28, 28, 0.45);
}
.product-card.product-card--stock-blocked:hover {
    transform: none;
}

.online-order-notify-block {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--light-gray, #e5e7eb);
    border-radius: 10px;
    background: var(--white, #fff);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.online-order-notify-hint {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.35;
}

.app-toast-clickable {
    cursor: pointer;
}

.numarator-enqueue-bar {
    margin-top: 8px;
    padding: 0 2px 4px;
}
.numarator-enqueue-btn {
    width: 100%;
    font-weight: 600;
}

/* Hazırlık sırası: masalar/hesaplar gibi düz gri zemin (pos-app --light-gray; koyu temada aynı değişken) */
.numaratorqueue-view.playarea-view {
    background: var(--light-gray);
}

/* .theme-dark .playarea-view gradient'ini mutfakta ezmek için +1 sınıf */
.theme-dark .numaratorqueue-view.playarea-view {
    background: var(--light-gray);
}

/* Mutfak: liste boşken empty state yatay/dikey ortalı */
.numaratorqueue-view.playarea-view .tables-container.tables-container--mutfak-empty {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Hazırlık sırası: termal fiş kartları */
.numaratorqueue-receipt-grid {
    grid-template-columns: repeat(auto-fill, minmax(272px, 1fr)) !important;
    gap: 18px !important;
    align-items: start;
}

.numaratorqueue-card.numaratorqueue-receipt.table-card {
    min-height: unset;
    height: auto;
    align-items: stretch;
    justify-content: flex-start;
    text-align: left;
    cursor: default;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    content-visibility: auto;
    contain-intrinsic-size: auto 320px;
    contain: layout style;
}

.numaratorqueue-card.numaratorqueue-receipt.table-card:hover {
    border: none;
    box-shadow: none;
}

.numaratorqueue-receipt-paper {
    position: relative;
    width: 100%;
    min-width: 300px;
    margin: 0 auto;
    padding: 16px 16px 0;
    /* Gri zeminden net ayrışan “beyaz kağıt”; üst yanak beyaz, alta hafif soğuk gri */
    background: white;
    border: none;
    /* Üst ve alt zigzag kesim (termal fiş); clip-path filter gölgeyi kırpar — drop-shadow kullan */
    -webkit-clip-path: polygon(0% 8px, 2.5% 0, 5% 8px, 7.5% 0, 10% 8px, 12.5% 0, 15% 8px, 17.5% 0, 20% 8px, 22.5% 0, 25% 8px, 27.5% 0, 30% 8px, 32.5% 0, 35% 8px, 37.5% 0, 40% 8px, 42.5% 0, 45% 8px, 47.5% 0, 50% 8px, 52.5% 0, 55% 8px, 57.5% 0, 60% 8px, 62.5% 0, 65% 8px, 67.5% 0, 70% 8px, 72.5% 0, 75% 8px, 77.5% 0, 80% 8px, 82.5% 0, 85% 8px, 87.5% 0, 90% 8px, 92.5% 0, 95% 8px, 97.5% 0, 100% 8px, 100% calc(100% - 8px), 97.5% 100%, 95% calc(100% - 8px), 92.5% 100%, 90% calc(100% - 8px), 87.5% 100%, 85% calc(100% - 8px), 82.5% 100%, 80% calc(100% - 8px), 77.5% 100%, 75% calc(100% - 8px), 72.5% 100%, 70% calc(100% - 8px), 67.5% 100%, 65% calc(100% - 8px), 62.5% 100%, 60% calc(100% - 8px), 57.5% 100%, 55% calc(100% - 8px), 52.5% 100%, 50% calc(100% - 8px), 47.5% 100%, 45% calc(100% - 8px), 42.5% 100%, 40% calc(100% - 8px), 37.5% 100%, 35% calc(100% - 8px), 32.5% 100%, 30% calc(100% - 8px), 27.5% 100%, 25% calc(100% - 8px), 22.5% 100%, 20% calc(100% - 8px), 17.5% 100%, 15% calc(100% - 8px), 12.5% 100%, 10% calc(100% - 8px), 7.5% 100%, 5% calc(100% - 8px), 2.5% 100%, 0% calc(100% - 8px), 0% 8px);
    clip-path: polygon(0% 8px, 2.5% 0, 5% 8px, 7.5% 0, 10% 8px, 12.5% 0, 15% 8px, 17.5% 0, 20% 8px, 22.5% 0, 25% 8px, 27.5% 0, 30% 8px, 32.5% 0, 35% 8px, 37.5% 0, 40% 8px, 42.5% 0, 45% 8px, 47.5% 0, 50% 8px, 52.5% 0, 55% 8px, 57.5% 0, 60% 8px, 62.5% 0, 65% 8px, 67.5% 0, 70% 8px, 72.5% 0, 75% 8px, 77.5% 0, 80% 8px, 82.5% 0, 85% 8px, 87.5% 0, 90% 8px, 92.5% 0, 95% 8px, 97.5% 0, 100% 8px, 100% calc(100% - 8px), 97.5% 100%, 95% calc(100% - 8px), 92.5% 100%, 90% calc(100% - 8px), 87.5% 100%, 85% calc(100% - 8px), 82.5% 100%, 80% calc(100% - 8px), 77.5% 100%, 75% calc(100% - 8px), 72.5% 100%, 70% calc(100% - 8px), 67.5% 100%, 65% calc(100% - 8px), 62.5% 100%, 60% calc(100% - 8px), 57.5% 100%, 55% calc(100% - 8px), 52.5% 100%, 50% calc(100% - 8px), 47.5% 100%, 45% calc(100% - 8px), 42.5% 100%, 40% calc(100% - 8px), 37.5% 100%, 35% calc(100% - 8px), 32.5% 100%, 30% calc(100% - 8px), 27.5% 100%, 25% calc(100% - 8px), 22.5% 100%, 20% calc(100% - 8px), 17.5% 100%, 15% calc(100% - 8px), 12.5% 100%, 10% calc(100% - 8px), 7.5% 100%, 5% calc(100% - 8px), 2.5% 100%, 0% calc(100% - 8px), 0% 8px);
    filter:
        drop-shadow(0 22px 48px rgba(15, 23, 42, 0.2))
        drop-shadow(0 10px 24px rgba(15, 23, 42, 0.14))
        drop-shadow(0 4px 10px rgba(15, 23, 42, 0.1))
        drop-shadow(0 1px 2px rgba(15, 23, 42, 0.07));
}

.numaratorqueue-receipt-header {
    text-align: center;
    margin-bottom: 10px;
}

.numaratorqueue-receipt-kicker {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 6px;
}

.numaratorqueue-receipt-no-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.numaratorqueue-receipt-no-label {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
}

.numaratorqueue-display-no {
    font-family: ui-monospace, 'Cascadia Code', 'Segoe UI', monospace;
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #0f172a;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

.numaratorqueue-receipt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
}

.numaratorqueue-massa-pill,
.numaratorqueue-time-pill {
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: #334155;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.numaratorqueue-massa-pill i,
.numaratorqueue-time-pill i {
    margin-right: 4px;
    opacity: 0.85;
}

.numaratorqueue-elapsed-pill,
.numaratorqueue-expected-pill {
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 999px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.numaratorqueue-elapsed-pill {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.numaratorqueue-elapsed-pill.numaratorqueue-elapsed-pill--overdue {
    background: rgba(220, 38, 38, 0.2);
    color: #991b1b;
    border: 1px solid rgba(220, 38, 38, 0.45);
}

.numaratorqueue-expected-pill {
    background: rgba(100, 116, 139, 0.14);
    color: #475569;
}

.numaratorqueue-elapsed-pill i,
.numaratorqueue-expected-pill i {
    margin-right: 4px;
    opacity: 0.85;
}

@keyframes numaratorqueue-warn-pulse {
    0%, 100% {
        box-shadow:
            0 22px 48px rgba(15, 23, 42, 0.2),
            0 10px 24px rgba(15, 23, 42, 0.14),
            0 0 0 0 rgba(220, 38, 38, 0.28);
    }
    50% {
        box-shadow:
            0 22px 48px rgba(185, 28, 28, 0.22),
            0 10px 24px rgba(185, 28, 28, 0.14),
            0 0 0 10px rgba(220, 38, 38, 0.06);
    }
}

.numaratorqueue-receipt-paper.numaratorqueue-receipt-paper--warn {
    animation: numaratorqueue-warn-pulse 1.25s ease-in-out infinite;
}

/* Basılı tutarken: tüm liste re-render etmeden tek kart animasyonu; diğer fişlerde ağır gölge/pulse kapat */
.numaratorqueue-view--holding .numaratorqueue-receipt-paper.numaratorqueue-receipt-paper--warn {
    animation: none;
}
.numaratorqueue-view--holding .numaratorqueue-card:not(.numaratorqueue-card--holding-active) .numaratorqueue-receipt-paper {
    filter: drop-shadow(0 2px 8px rgba(15, 23, 42, 0.1));
}
.numaratorqueue-card--holding-active {
    z-index: 2;
}

/* Kasa > Mutfak performansı raporu */
.reports-kitchen-perf--off {
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: min(45vh, 320px);
    box-sizing: border-box;
}
.reports-kitchen-perf--off .empty-state {
    flex: 0 0 auto;
}
.reports-kitchen-perf-body {
    margin-top: 8px;
}
.reports-kitchen-perf-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(100, 116, 139, 0.08);
    border: 1px solid rgba(100, 116, 139, 0.18);
    font-size: 13px;
    color: #334155;
}
.reports-kitchen-perf-title {
    font-weight: 700;
    color: #1e293b;
}
.reports-kitchen-perf-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.25);
    font-size: 12px;
    font-weight: 600;
}
.reports-kitchen-perf-chip--accent {
    background: rgba(220, 38, 38, 0.12);
    color: #991b1b;
}
.reports-kitchen-perf-products {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 720px;
}
.reports-kitchen-perf-products li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-top: 1px dashed rgba(148, 163, 184, 0.35);
    font-size: 12px;
}
.reports-kitchen-perf-products li:first-child {
    border-top: none;
    padding-top: 0;
}
.reports-kitchen-perf-pname {
    font-weight: 600;
    color: #475569;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reports-kitchen-perf-pval {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    color: #64748b;
}
.reports-kitchen-perf-note {
    margin: 12px 0 0;
    font-size: 11px;
    line-height: 1.35;
}

.numaratorqueue-receipt-doc {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    padding: 10px 0 8px;
    margin-bottom: 4px;
    border-top: 1px dashed rgba(100, 116, 139, 0.45);
    border-bottom: 1px dashed rgba(100, 116, 139, 0.35);
}

.numaratorqueue-receipt-doc-lbl {
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.06em;
}

.numaratorqueue-receipt-doc-val {
    font-family: ui-monospace, 'Cascadia Code', Consolas, monospace;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
    word-break: break-all;
}

.numaratorqueue-receipt-columns {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    padding: 6px 0 4px;
}

.numaratorqueue-col-h--item {
    padding-left: 2px;
}

.numaratorqueue-lines {
    list-style: none;
    margin: 0;
    padding: 0 0 8px;
    font-size: 13px;
}

.numaratorqueue-lines li {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 8px;
    align-items: start;
    padding: 8px 0;
    border-top: 1px dotted rgba(148, 163, 184, 0.65);
}

.numaratorqueue-lines li:first-of-type {
    border-top: none;
    padding-top: 2px;
}

.numaratorqueue-line-qty {
    font-family: ui-monospace, 'Segoe UI', monospace;
    font-weight: 800;
    font-size: 13px;
    color: #0d9488;
    text-align: center;
}

.numaratorqueue-line-body {
    min-width: 0;
}

.numaratorqueue-line-name {
    display: block;
    font-weight: 700;
    color: #1e293b;
}

.numaratorqueue-line-extra {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
    line-height: 1.35;
}

.numaratorqueue-receipt-adisyon-note {
    margin: 8px 0 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(251, 191, 36, 0.12);
    border: 1px dashed rgba(180, 83, 9, 0.45);
}
.numaratorqueue-receipt-adisyon-label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #b45309;
    margin-bottom: 4px;
}
.numaratorqueue-receipt-adisyon-text {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.numaratorqueue-receipt-footer {
    margin: 4px -16px 0;
    padding: 12px 16px 14px;
    background: white;
    border-top: 1px dashed rgba(100, 116, 139, 0.4);
}

.numaratorqueue-ready-hint {
    margin: 0 0 10px;
    padding: 0;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    color: #64748b;
    line-height: 1.35;
    min-height: 2.7em;
}
.numaratorqueue-card.numaratorqueue-receipt .numaratorqueue-ready-hint {
    color: #475569;
}

/* Nakit (market-pay-btn-cash) ile aynı yeşil; hover market satırıyla uyumlu */
.numaratorqueue-ready-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-sizing: border-box;
    border-radius: var(--border-radius);
    padding: 12px 14px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    cursor: pointer;
    color: #fff;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

.numaratorqueue-ready-btn i {
    font-size: 1.15em;
    flex-shrink: 0;
}

/* 2 sn basılı tut — dolgu animasyonu */
.numaratorqueue-ready-btn--hold {
    position: relative;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
.numaratorqueue-ready-hold-track {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: rgba(0, 0, 0, 0.14);
    border-radius: inherit;
}
.numaratorqueue-ready-hold-fill {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.38);
    transform: scaleX(0);
    transform-origin: left center;
    border-radius: inherit;
    will-change: transform;
}
.numaratorqueue-ready-hold-fill--active {
    animation: numarator-ready-hold-fill 0.6s linear forwards;
}
@keyframes numarator-ready-hold-fill {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}
.numaratorqueue-ready-btn-inner {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.numaratorqueue-ready-inner-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.numaratorqueue-ready-inner-line[hidden] {
    display: none !important;
}
.numaratorqueue-ready-btn--holding.market-pay-btn-cash {
    transform: none;
    filter: none;
    box-shadow: none;
}

@media (hover: hover) and (pointer: fine) {
    .numaratorqueue-ready-btn.market-pay-btn-cash:hover:not(:disabled):not(.numaratorqueue-ready-btn--holding) {
        filter: brightness(1.08) saturate(1.05);
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
    }
}

.numaratorqueue-ready-btn.market-pay-btn-cash:active:not(:disabled):not(.numaratorqueue-ready-btn--holding) {
    transform: scale(0.98);
    filter: brightness(0.93);
}

.playarea-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.playarea-card {
    min-height: 0;
    height: auto;
    align-items: stretch;
    text-align: left;
    gap: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 46px 1fr;
    overflow: hidden;
}
.playarea-card--no-rail {
    grid-template-columns: 1fr;
}

.playarea-card.playarea-ok {
    border-color: var(--success);
}

.playarea-card.playarea-warn {
    border-color: #ffb300;
    background: rgba(255, 179, 0, 0.08);
}

.playarea-card.playarea-tol {
    border-color: #ff9800;
    background: rgba(255, 152, 0, 0.1);
}

.playarea-card.playarea-over {
    border-color: #e53935;
    background: rgba(229, 57, 53, 0.08);
}

.playarea-card-actions {
    margin-top: 6px;
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
}

.playarea-grid {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 0.75rem !important;
}

.playarea-card-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    min-height: 2.25rem;
    padding-left: 2.25rem;
}

.playarea-card-head .playarea-child-name {
    white-space: normal;
    word-break: break-word;
    overflow: visible;
    text-overflow: clip;
}

.playarea-remaining-pill {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.06);
    color: #37474f;
}

.playarea-progress-wrap {
    margin-top: 4px;
}

.playarea-progress-track {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.09);
    overflow: hidden;
}

.playarea-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--success-hover) 0%, var(--success) 100%);
    transition: width 0.35s ease;
}

.playarea-card.playarea-warn .playarea-progress-fill {
    background: linear-gradient(90deg, #ffca28 0%, #ff9800 100%);
}

.playarea-card.playarea-tol .playarea-progress-fill {
    background: linear-gradient(90deg, #ffb74d 0%, #f57c00 100%);
}

.playarea-card.playarea-over .playarea-progress-fill {
    background: linear-gradient(90deg, #ef5350 0%, #e53935 100%);
}

.playarea-progress-label {
    display: inline-block;
    margin-top: 5px;
    font-size: 12px;
    opacity: 0.85;
}

.playarea-card-footer {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.playarea-card-footer .btn {
    flex: 1;
}

.btn.btn-xs {
    padding: 6px 8px;
    font-size: 12px;
    line-height: 1.2;
}

.user-menu {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.user-menu .nav-item {
    flex: none;
    padding: 1rem 1.5rem;
}

.user-dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    z-index: 1000;
    padding: 0.5rem;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.6rem; /* 0.75rem'den küçültüldü */
    padding: 0.6rem 0.8rem; /* küçültüldü */
    width: 100%;
    border: none;
    background: none;
    color: var(--text-primary);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    flex-direction: row;
}

.dropdown-item:hover {
    background-color: var(--light-gray);
}

.dropdown-item i {
    font-size: 0.85rem; /* 1rem'den küçültüldü */
    color: var(--primary);
    margin: 0;
}

/* ============================================
   Order Panel (Laravel OrderPanel.vue'den)
   ============================================ */
.order-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--lighter-gray);
    transition: background-color 0.2s ease;
}
/* Faturalı adisyon: mavimsi ton + sol şerit; özet/total alanı normal kalır */
:root {
    --invoice-panel-bg: #e3f0fa;
    --invoice-panel-accent: #1565c0;
    --invoice-panel-accent-soft: #90caf9;
}
.theme-dark {
    --invoice-panel-bg: #132a3d;
    --invoice-panel-accent: #42a5f5;
    --invoice-panel-accent-soft: #1e3a5f;
}
.order-panel.order-panel--invoice {
    box-shadow: inset 4px 0 0 var(--invoice-panel-accent);
}
.order-panel.order-panel--invoice .order-header,
.order-panel.order-panel--invoice .order-items {
    background-color: var(--invoice-panel-bg);
}
.order-panel.order-panel--invoice .order-summary {
    background-color: var(--white);
}
.order-invoice-banner {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin: 0.05rem 0 0.15rem;
    padding: 0.32rem 0.5rem;
    border-radius: 6px;
    background: var(--invoice-panel-accent);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.25;
}
.order-invoice-banner i {
    font-size: 0.85rem;
    opacity: 0.95;
}
.order-invoice-banner__label {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.order-invoice-banner__tip {
    flex: 0 0 auto;
    padding: 0.08rem 0.32rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.22);
    font-size: 0.7rem;
    font-weight: 800;
}
.order-invoice-banner__unvan {
    flex: 1 1 8rem;
    min-width: 0;
    font-weight: 600;
    font-size: 0.74rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.95;
}
.theme-dark .order-invoice-banner {
    color: #0a1929;
}
.order-prior-payments {
    margin: 0.05rem 0 0.1rem;
}
.order-prior-payments__open {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.55rem;
    border: none;
    border-radius: 8px;
    background: rgba(76, 175, 80, 0.16);
    color: #1b5e20;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: left;
}
.order-prior-payments__open:hover {
    background: rgba(76, 175, 80, 0.26);
}
.order-prior-payments__open > i:first-child {
    color: var(--success, #4CAF50);
    font-size: 0.9rem;
}
.order-prior-payments__title {
    flex: 0 0 auto;
}
.order-prior-payments__meta {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.order-prior-payments__open > i:last-child {
    margin-left: auto;
    opacity: 0.65;
    font-size: 0.72rem;
}
.theme-dark .order-prior-payments__open {
    background: rgba(76, 175, 80, 0.22);
    color: #c8e6c9;
}
.prior-pay-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 24000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(8, 12, 20, 0.55);
}
.prior-pay-modal {
    width: min(520px, 100%);
    max-height: min(86vh, 720px);
    display: flex;
    flex-direction: column;
    background: var(--surface, #fff);
    color: var(--text-primary, #1a1a1a);
    border-radius: 14px;
    border: 2px solid var(--primary, #d01c42);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}
.theme-dark .prior-pay-modal {
    background: var(--surface, #1b2230);
    color: var(--text-primary, #f4f6fb);
}
.prior-pay-modal__head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.1rem 0.65rem;
}
.prior-pay-modal__head-text {
    flex: 1 1 auto;
    min-width: 0;
}
.prior-pay-modal__head h3 {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 800;
}
.prior-pay-modal__head p {
    margin: 0.2rem 0 0;
    font-size: 0.82rem;
    opacity: 0.72;
    font-weight: 500;
}
.prior-pay-modal__close {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border: none;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.06);
    color: inherit;
    cursor: pointer;
}
.theme-dark .prior-pay-modal__close {
    background: rgba(255, 255, 255, 0.08);
}
.prior-pay-modal__close:hover {
    background: rgba(208, 28, 66, 0.16);
    color: var(--primary, #d01c42);
}
.prior-pay-modal__summary {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0 1.1rem 0.7rem;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    background: rgba(208, 28, 66, 0.1);
    font-size: 0.88rem;
    font-weight: 600;
}
.prior-pay-modal__summary strong {
    font-variant-numeric: tabular-nums;
    font-size: 1rem;
}
.prior-pay-modal__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 0 1.1rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}
.prior-pay-card {
    border-radius: 10px;
    padding: 0.75rem 0.85rem 0.7rem;
    background: rgba(0, 0, 0, 0.04);
}
.theme-dark .prior-pay-card {
    background: rgba(255, 255, 255, 0.06);
}
.prior-pay-card__head {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}
.prior-pay-card__ids {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.prior-pay-card__doc {
    font-weight: 800;
    font-size: 0.92rem;
}
.prior-pay-card__time {
    font-size: 0.75rem;
    opacity: 0.7;
    font-variant-numeric: tabular-nums;
}
.prior-pay-card__amt {
    flex: 0 0 auto;
    font-weight: 800;
    font-size: 1.02rem;
    font-variant-numeric: tabular-nums;
}
.prior-pay-card__method {
    margin-top: 0.28rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--primary, #d01c42);
}
.prior-pay-card__lines {
    list-style: none;
    margin: 0.45rem 0 0;
    padding: 0;
}
.prior-pay-card__lines li {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.18rem 0;
    font-size: 0.84rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.theme-dark .prior-pay-card__lines li {
    border-top-color: rgba(255, 255, 255, 0.08);
}
.prior-pay-card__line-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.prior-pay-card__line-amt {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.prior-pay-card__disc,
.prior-pay-card__collected {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    font-weight: 700;
}
.prior-pay-card__disc {
    color: #b42318;
}
.prior-pay-card__collected {
    padding-top: 0.28rem;
    border-top: 1px dashed rgba(0, 0, 0, 0.12);
    font-variant-numeric: tabular-nums;
}
.theme-dark .prior-pay-card__collected {
    border-top-color: rgba(255, 255, 255, 0.14);
}
.order-panel.order-panel--invoice .order-item {
    border-left: 3px solid var(--invoice-panel-accent-soft);
}

.order-header {
    padding: 0.2rem 0.6rem; /* küçültüldü */
    /*border-bottom: 1px solid var(--light-gray);*/
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.28rem;
}

.order-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.order-header-top .order-header-title-row {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.order-header-top .document-info {
    flex-shrink: 0;
    margin-left: auto;
}

.order-header-call-phone-line {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    font-size: 0.74rem;
    line-height: 1.3;
    color: var(--text-secondary, #666);
    min-width: 0;
}

.order-header-call-phone-line > i {
    flex-shrink: 0;
    width: 0.75rem;
    opacity: 0.75;
    font-size: 0.68rem;
}

.order-header-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.order-header-call-meta {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    margin-top: 0.25rem;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: var(--light-gray, rgba(0, 0, 0, 0.04));
    max-width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.theme-dark .order-header-call-meta {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: none;
}

.order-header-call-meta-line {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    font-size: 0.74rem;
    line-height: 1.3;
    color: var(--text-secondary, #666);
    min-width: 0;
}

.order-header-call-meta-line > i {
    flex-shrink: 0;
    width: 0.75rem;
    margin-top: 0.1rem;
    opacity: 0.75;
    font-size: 0.68rem;
}

.order-header-call-address-row {
    position: relative;
}

.order-header-call-address-row--full {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    width: 100%;
    min-width: 0;
    font-size: 0.74rem;
    line-height: 1.35;
    color: var(--text-secondary, #666);
}

.order-header-call-address-row--full > i {
    flex-shrink: 0;
    width: 0.75rem;
    margin-top: 0.1rem;
    opacity: 0.75;
    font-size: 0.68rem;
}

.order-header-call-address-row--full .order-header-call-address-btn {
    flex: 1;
    min-width: 0;
    width: 100%;
}

.order-header-call-address-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: default;
    min-width: 0;
}

.order-header-call-address-btn--picker {
    cursor: pointer;
}

.order-header-call-address-btn--picker:hover .order-header-call-address-text {
    color: var(--success, #2e7d32);
}

.order-header-call-address-btn--picker.order-header-call-address-btn--open {
    color: var(--success, #2e7d32);
}

.order-header-call-address-btn--picker.order-header-call-address-btn--open .order-header-call-address-badge {
    background: rgba(46, 125, 50, 0.22);
}

.order-header-call-address-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: break-word;
    white-space: normal;
}

.order-header-call-address-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: rgba(46, 125, 50, 0.14);
    color: var(--success, #2e7d32);
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
}

.order-header-call-address-chevron {
    flex-shrink: 0;
    font-size: 0.55rem;
    opacity: 0.7;
}

.order-header-call-address-menu {
    position: absolute;
    top: calc(100% + 2px);
    left: 1rem;
    z-index: 40;
    min-width: min(16rem, calc(100vw - 2rem));
    max-width: min(20rem, calc(100vw - 2rem));
    max-height: 10rem;
    overflow-y: auto;
    background: var(--card-bg, #fff);
    border: 1px solid var(--light-gray, #ddd);
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    padding: 0.2rem 0;
}

.order-header-call-address-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    width: 100%;
    padding: 0.35rem 0.55rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 0.72rem;
    color: var(--text-primary);
}

.order-header-call-address-option:hover {
    background: rgba(46, 125, 50, 0.08);
}

.order-header-call-address-option.is-selected {
    background: rgba(46, 125, 50, 0.14);
    border-left: 3px solid var(--success, #2e7d32);
    padding-left: calc(0.55rem - 3px);
}

.order-header-call-address-option.is-selected .order-header-call-address-option-title {
    color: var(--success, #2e7d32);
}

.order-header-call-address-option-title {
    font-weight: 600;
    font-size: 0.68rem;
    color: var(--text-secondary, #666);
}

.order-header-call-address-option-text {
    word-break: break-word;
    line-height: 1.25;
}

.theme-dark .order-header-call-address-menu {
    background: var(--card-bg, #2a2a2a);
    border-color: rgba(255, 255, 255, 0.12);
}

.order-header h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 0.85rem; /* 1rem'den küçültüldü */
    font-weight: 600;
}

.order-header-title-row {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
}

.order-header-transfer-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--primary, #ff1744);
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1;
}

.order-header-transfer-btn:hover {
    background: rgba(255, 23, 68, 0.1);
}

.order-header-account-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-header-account-name--clickable {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: color 0.15s, text-decoration-color 0.15s;
}

.order-header-account-name--clickable:hover {
    color: var(--primary, #ff1744);
    text-decoration-color: var(--primary, #ff1744);
}

.document-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--primary);
    font-weight: 500;
}

.document-info--full {
    width: 100%;
    flex: 0 0 auto;
    padding: 0.15rem 0 0;
    box-sizing: border-box;
}

.document-info i {
    font-size: 0.9rem;
}

.table-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--secondary);
    font-size: 0.85rem;
}

.table-info i {
    color: var(--primary);
}

.order-items {
    flex: 1;
    overflow-y: auto;
    padding: 0.4rem;
    flex-direction: column;
    background-color: var(--lighter-gray);
    display: flex;
}

.empty-order {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem; /* 0.75rem'den küçültüldü */
    padding: 1.2rem; /* 1.5rem'den küçültüldü */
    color: var(--secondary);
    text-align: center;
}

.empty-order i {
    font-size: 1.2rem; /* 1.5rem'den küçültüldü */
    opacity: 0.5;
}

.empty-order p {
    margin: 0;
    font-size: 0.75rem; /* 0.85rem'den küçültüldü */
}

.empty-state {
    flex: 1;
    align-items: center;
    padding: 0 1.5rem;
    color: var(--secondary);
    text-align: center;
}

.empty-state-centered {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 200px;
}

.btn-empty-action {
    margin-top: 1rem;
    padding: 0.6rem 1.4rem;
    font-size: 0.85rem;
    border-radius: var(--border-radius);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    border: none;
    background: var(--primary);
    color: #fff;
    font-weight: 500;
    transition: background 0.2s, transform 0.1s;
}

.btn-empty-action:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.btn-empty-action:active {
    transform: translateY(0);
}

.empty-state i {
    font-size: 3rem;
    opacity: 0.3;
    color: var(--secondary);
}

.empty-state p {
    margin: 0;
    font-size: 1rem;
    color: var(--text-primary);
}

.empty-state.empty-state--page-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    gap: 0.75rem;
}

.order-panel .order-item {
    background-color: var(--white);
    border-radius: var(--border-radius);
    padding: 0.26rem 0.42rem 0.22rem;
    margin-bottom: 0.14rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    line-height: 1.2;
}

.order-panel .order-item:hover {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
}

/* Adisyon satırı: tam satıra tıklanınca düzenleme; +/- ve x .item-actions içinde @click.stop */
.order-panel .order-item.order-item-row-clickable {
    cursor: pointer;
}

.order-item--campaign-child {
    margin-left: 0.65rem;
    border-left: 2px solid rgba(46, 157, 87, 0.4);
    background: transparent;
}

.order-campaign-child-branch {
    display: inline-block;
    margin-right: 0.25rem;
    color: rgba(46, 157, 87, 0.75);
    font-weight: 600;
    font-size: 0.85em;
    line-height: 1;
}

.order-campaign-gift-icon {
    margin-left: 0.12rem;
    color: #2e9d57;
    font-size: 0.72rem;
    vertical-align: middle;
    opacity: 0.9;
    flex-shrink: 0;
}

.order-item--ikram {
    border-left: 4px solid #8b5cf6;
}

.order-item-play-timer {
    margin: 0.15rem 0 0.2rem;
    width: 100%;
    box-sizing: border-box;
}
.order-item-play-timer-bar {
    height: 3px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.theme-dark .order-item-play-timer-bar {
    background: rgba(255, 255, 255, 0.12);
}
.order-item-play-timer-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 0.35s ease;
}
.order-item-play-timer-fill--ok {
    background: linear-gradient(90deg, #2e9d57, #4ade80);
}
.order-item-play-timer-fill--warn {
    background: linear-gradient(90deg, #ca8a04, #facc15);
}
.order-item-play-timer-fill--over {
    background: linear-gradient(90deg, #b91c1c, #f87171);
}
.order-item-play-timer-label {
    display: block;
    font-size: 0.62rem;
    color: var(--text-secondary, #64748b);
    margin-top: 0.12rem;
    line-height: 1.2;
}
.order-item-play-fees {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.6rem;
    margin-bottom: 0.15rem;
    line-height: 1.25;
}
.order-item-play-fee {
    font-size: 0.62rem;
    font-weight: 700;
    color: #546e7a;
}
.order-item-play-fee--paket {
    color: #5c6bc0;
}
.order-item-play-fee--asim {
    color: #c62828;
}
.playarea-collectible-strip {
    display: none !important;
}
.order-play-collectible-banner,
.order-item-play-collectible {
    display: none !important;
}
.theme-dark .order-item-play-fee {
    color: #b0bec5;
}
.theme-dark .order-item-play-fee--paket {
    color: #b39ddb;
}
.theme-dark .order-item-play-fee--asim {
    color: #fca5a5;
}
.playarea-card-meta-label {
    font-weight: 800;
    color: #78909c;
    margin-right: 4px;
}
.theme-dark .playarea-card-meta-label {
    color: #90a4ae;
}

.order-panel .item-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.04rem;
    gap: 0.4rem;
    min-width: 0;
}

.item-info-editable {
    cursor: pointer;
}

.item-name-section {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 0;
}

.item-name-row {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
}

.item-name {
    color: var(--text-primary);
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 1.2;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-portion-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0.06rem 0.34rem;
    border-radius: 0.25rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
    white-space: nowrap;
}

.item-state-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.38rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: rgba(46, 157, 87, 0.12);
    color: #1f7a43;
    white-space: nowrap;
}

.order-item--ikram .item-state-badge {
    background: rgba(139, 92, 246, 0.14);
    color: #6d28d9;
}

.item-details {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-style: italic;
    line-height: 1.2;
    min-width: 0;
    flex: 1 1 4rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-line-meta {
    display: block;
    color: var(--text-muted);
    font-size: 0.62rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    opacity: 0.92;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.item-total-price {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.order-panel .item-total-price {
    color: var(--price-color);
    font-weight: var(--price-font-weight, 600);
}

.item-unit-price {
    color: var(--text-muted);
    font-size: 0.75rem;
    white-space: nowrap; /* Tek satırda kalması için */
    margin-left: 0.3rem; /* Adet ile arasında boşluk */
}

.item-price {
    color: var(--price-color);
    font-weight: var(--price-font-weight);
    font-size: 0.9rem;
}

.order-panel .item-actions {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0;
    flex-wrap: nowrap;
    min-width: 0;
}
.order-panel .item-actions .btn-quantity,
.order-panel .item-actions .quantity,
.order-panel .item-actions .quantity-input-inline,
.order-panel .item-actions .item-unit-price,
.order-panel .item-actions .btn-remove {
    flex-shrink: 0;
}
.item-line-saat {
    font-size: 0.68rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
    min-width: 2.5rem;
    margin-right: 0.15rem;
    flex-shrink: 0;
}

.btn-quantity {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 0.75rem;
    border: none;
    border-radius: var(--border-radius);
    background-color: var(--white);
    color: var(--primary);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-quantity:hover {
    background-color: var(--primary);
    color: var(--white);
}

.quantity {
    min-width: 2rem;
    text-align: center;
    font-weight: 500;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.quantity-editable {
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 4px;
}
.quantity-editable:hover {
    background-color: var(--light-gray);
}

.summary-row.total .order-total-value {
    font-variant-numeric: tabular-nums;
}
.summary-row.total .order-total-editable {
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
}
.summary-row.total .order-total-editable:hover {
    background-color: var(--light-gray);
}
.summary-row.total .order-total-input-inline {
    width: 7.5rem;
    max-width: 46%;
    text-align: right;
    font-weight: 700;
    font-size: inherit;
    font-variant-numeric: tabular-nums;
    border: 1px solid var(--primary, #2e7d32);
    border-radius: 4px;
    padding: 2px 6px;
    color: inherit;
    background: #fff;
}

.quantity-readonly {
    cursor: default;
    opacity: 0.92;
}

.order-play-child-inline {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: #5c6bc0;
    font-weight: 700;
    vertical-align: middle;
    max-width: 28%;
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
}
.order-play-child-inline .fa-child {
    opacity: 0.9;
}
.order-play-child-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 140px;
}

.order-item-play-locked {
    cursor: default;
}

.quantity-input-inline {
    width: 64px;
    min-width: 64px;
    text-align: center;
    font-weight: 500;
    font-size: 0.85rem;
    padding: 2px 4px;
    border: 1px solid var(--primary);
    border-radius: 4px;
}

.order-panel .btn-remove {
    margin-left: auto;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 1.65rem;
    height: 1.65rem;
    min-width: 1.65rem;
    min-height: 1.65rem;
    padding: 0;
    line-height: 1;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: var(--danger, #dc3545);
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease, transform 0.12s ease;
    touch-action: manipulation;
}

.order-panel .btn-remove i {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1;
    pointer-events: none;
}

.order-panel .btn-remove:hover {
    color: #fff;
    background: var(--danger, #dc3545);
}

.order-panel .btn-remove:active {
    transform: scale(0.94);
}

.order-summary {
    padding: 0.6rem; /* 0.75rem'den küçültüldü */
    border-top: 1px solid var(--light-gray);
    background-color: var(--white);
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}

.summary-row {
    display: flex;
    flex:1;
    justify-content: space-between;
    color: var(--secondary);
    font-size: 0.85rem;
}

.summary-row.total {
    margin-top: 0.6rem; /* 0.75rem'den küçültüldü */
    padding-top: 0.4rem; /* 0.5rem'den küçültüldü */
    border-top: 1px solid var(--light-gray);
    color: var(--text-primary);
    font-weight: 800;
    font-size: 1.06rem;
}

.summary-total-label-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.btn-order-tip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    min-width: 2.4rem;
    padding: 0.2rem 0.35rem;
    border: 1px solid #f0a04b;
    border-radius: 0.4rem;
    background: rgba(240, 160, 75, 0.12);
    color: #d97706;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.05;
    cursor: pointer;
}

.btn-order-tip i {
    font-size: 0.78rem;
}

.btn-order-tip--active,
.btn-order-tip:hover:not(:disabled) {
    background: #f0a04b;
    color: #fff;
    border-color: #e8912f;
}

.btn-order-tip:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.summary-row.tip-row {
    color: #d97706;
    font-weight: 700;
}

.summary-row.tip-row .tip-amount {
    color: #d97706;
    font-weight: 800;
}

.working-tip-modal {
    max-width: 26rem;
    width: 94%;
    overflow: visible;
}

.modal-content.working-tip-modal > .modal-header {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
}

.modal-content.working-tip-modal > .modal-header h3 {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-size: 1.05rem;
    color: #fff;
}

.modal-content.working-tip-modal > .modal-header .modal-close {
    color: #fff;
}

.working-tip-body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem 1.1rem 0.35rem;
}

.working-tip-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}

.working-tip-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.55rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111);
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-family: inherit;
}

.working-tip-input--note {
    font-size: 0.92rem;
    font-weight: 500;
    min-height: 2.35rem;
}

.working-tip-input:focus {
    outline: none;
    border-color: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.22);
}

.working-tip-method {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.working-tip-method-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.7rem 0.45rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111);
    font-weight: 700;
    font-size: 0.88rem;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.working-tip-method-btn.active {
    border-color: #f0a04b;
    background: rgba(240, 160, 75, 0.18);
    color: #c2410c;
}

.working-tip-waiters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.working-tip-waiter {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.38rem 0.65rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 999px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111);
    font-size: 0.8rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.working-tip-waiter.is-on {
    border-color: #f0a04b;
    background: #f59e0b;
    color: #fff;
}

.working-tip-waiter.is-table {
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.35);
}

.working-tip-empty {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-muted, #94a3b8);
}

.working-tip-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.75rem 1.1rem 1rem;
}

.tip-edit-modal.kasa-add-modal {
    width: min(420px, 94vw);
    max-height: none;
}

.tip-edit-modal .kasa-add-modal-header {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff;
    border-bottom: none;
}

.tip-edit-modal .kasa-add-modal-title {
    color: #fff;
}

.tip-edit-modal .kasa-add-modal-close {
    color: #fff;
}

.tip-edit-modal .kasa-add-modal-body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
}

.tip-edit-modal .kasa-add-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.tip-edit-modal .kasa-add-field label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}

.tip-edit-modal .working-tip-input,
.tip-edit-modal .filter-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111);
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
}

.tip-edit-belge,
.tip-edit-massa {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-secondary, #64748b);
}

.tip-edit-hint {
    margin: 0;
    font-size: 0.75rem;
    color: var(--text-muted, #94a3b8);
    line-height: 1.35;
}

.kasa-daybook-kpi.is-tip strong { color: #d97706; }

.summary-row.discount-row {
    color: var(--success);
    font-weight: 500;
}
.summary-row.fatura-badge-row {
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.35rem;
    padding-top: 0.25rem;
    border-top: none;
}
.fatura-badge-cancel {
    font-size: 0.75rem;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: #c62828;
    text-decoration: underline;
}
.fatura-badge-cancel:hover {
    color: #b71c1c;
}
.fatura-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: #1565c0;
    font-weight: 500;
}

.increase-amount {
    color: #e65100;
    font-weight: 600;
}
.discount-modal-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.discount-modal-header h2 {
    flex: 1 1 auto;
    margin: 0;
}
.discount-mode-toggle {
    display: flex;
    flex: 0 0 auto;
    border: 1px solid var(--border-color, #ccc);
    border-radius: 8px;
    overflow: hidden;
}
.discount-mode-btn {
    border: none;
    background: #f4f4f4;
    color: #444;
    padding: 0.35rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}
.discount-mode-btn.is-active {
    background: var(--primary, #2e7d32);
    color: #fff;
}
.discount-modal .discount-preview-artirim { color: #e65100; }

.discount-amount {
    color: var(--success);
    font-weight: 600;
}

.btn-add-discount {
    width: 100%;
    padding: 0.5rem;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #81c784;
    border-radius: var(--border-radius);
    color: #2e7d32;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
}
.btn-add-discount:hover:not(:disabled) {
    background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
    border-color: #1b5e20;
    color: #fff;
}
.btn-add-discount:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.discount-action-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    margin-top: 0.25rem;
    margin-bottom: 0.4rem;
}
.discount-action-row--two-rows {
    flex-wrap: wrap;
}
.discount-action-row .btn-invoice-sale,
.discount-action-row .btn-add-discount,
.discount-action-row .btn-edit-discount,
.discount-action-row .btn-order-note {
    flex: 1 1 0;
    min-width: 0;
    font-size: 0.72rem;
    padding: 0.35rem 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.discount-action-row--two-rows .btn-invoice-sale,
.discount-action-row--two-rows .btn-add-discount,
.discount-action-row--two-rows .btn-edit-discount {
    flex: 1 1 calc(50% - 0.25rem);
}
.discount-action-row-second {
    flex: 0 0 100%;
    display: flex;
    align-items: stretch;
    gap: 0.4rem;
    min-width: 0;
}
.discount-action-row-second .btn-order-note,
.discount-action-row-second .btn-order-cagri {
    flex: 1 1 0;
    min-width: 0;
    font-size: 0.72rem;
    padding: 0.35rem 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}
.discount-action-row-second .btn-order-cagri--active {
    background: linear-gradient(135deg, #3949ab 0%, #283593 100%);
    border-color: #1a237e;
    color: #fff;
}
.discount-action-row-second .btn-order-cagri--active i {
    color: #fff;
}
.btn-invoice-sale {
    padding: 0.4rem 0.5rem;
    background: #e3f0fa;
    border: 1px solid #90caf9;
    border-radius: var(--border-radius);
    color: #1565c0;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
}
.btn-invoice-sale:hover:not(:disabled) {
    background: #1565c0;
    border-color: #1565c0;
    color: #fff;
}
.btn-invoice-sale:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.btn-invoice-sale.btn-invoice-sale--active {
    padding: 0;
    gap: 0;
    overflow: hidden;
    max-width: 100%;
    background: #1565c0;
    border-color: #0d47a1;
    color: #fff;
}
.btn-invoice-sale__main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.45rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.btn-invoice-sale__main:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.btn-invoice-sale__tip {
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.08rem 0.28rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.2);
}
.btn-invoice-sale__unvan {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
    font-size: 0.76rem;
}
.btn-invoice-sale__clear {
    flex: 0 0 auto;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.28);
    background: transparent;
    color: #fff;
    padding: 0.4rem 0.45rem;
    cursor: pointer;
    opacity: 0.9;
}
.btn-invoice-sale__clear:hover {
    opacity: 1;
    background: rgba(0, 0, 0, 0.12);
}
.theme-dark .btn-invoice-sale {
    background: #132a3d;
    border-color: #42a5f5;
    color: #90caf9;
}
.theme-dark .btn-invoice-sale:hover:not(:disabled),
.theme-dark .btn-invoice-sale.btn-invoice-sale--active {
    background: #1565c0;
    border-color: #42a5f5;
    color: #fff;
}

.btn-order-note {
    padding: 0.4rem 0.5rem;
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    border: 1px solid #ffb74d;
    border-radius: var(--border-radius);
    color: #e65100;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
}
.btn-order-note:hover:not(:disabled) {
    background: linear-gradient(135deg, #ef6c00 0%, #e65100 100%);
    border-color: #e65100;
    color: #fff;
}
.btn-order-note:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.theme-dark .btn-order-note {
    background: linear-gradient(135deg, rgba(255, 152, 0, 0.18) 0%, rgba(255, 152, 0, 0.1) 100%);
    border-color: rgba(255, 183, 77, 0.55);
    color: #ffcc80;
}
.theme-dark .btn-order-note:hover:not(:disabled) {
    background: linear-gradient(135deg, #ef6c00 0%, #bf360c 100%);
    border-color: #ff9800;
    color: #fff;
}

.btn-order-cagri {
    padding: 0.4rem 0.5rem;
    background: linear-gradient(135deg, #e8eaf6 0%, #c5cae9 100%);
    border: 1px solid #7986cb;
    border-radius: var(--border-radius);
    color: #283593;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, box-shadow 0.12s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
}
.btn-order-cagri--empty {
    background: rgba(57, 73, 171, 0.08);
    border-color: rgba(121, 134, 203, 0.55);
    color: #5c6bc0;
}
.btn-order-cagri--empty i {
    font-size: 0.95rem;
    opacity: 0.85;
}
.btn-order-cagri--active {
    background: linear-gradient(135deg, #3949ab 0%, #283593 100%);
    border-color: #1a237e;
    color: #fff;
    box-shadow: 0 2px 8px rgba(40, 53, 147, 0.35);
}
.btn-order-cagri-num {
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    min-width: 1.1em;
    text-align: center;
}
.btn-order-cagri:hover:not(:disabled) {
    background: linear-gradient(135deg, #3949ab 0%, #283593 100%);
    border-color: #1a237e;
    color: #fff;
}
.btn-order-cagri--empty:hover:not(:disabled) {
    background: rgba(57, 73, 171, 0.18);
    border-color: #7986cb;
    color: #283593;
}
.btn-order-cagri:disabled { opacity: 0.6; cursor: not-allowed; }
.theme-dark .btn-order-cagri--empty {
    background: rgba(121, 134, 203, 0.12);
    border-color: rgba(121, 134, 203, 0.45);
    color: #9fa8da;
}
.theme-dark .btn-order-cagri--empty:hover:not(:disabled) {
    background: rgba(121, 134, 203, 0.22);
    color: #c5cae9;
}
.cagri-cihazi-picker-layer { z-index: 12050; }
.cagri-cihazi-picker-card {
    background: var(--surface-elevated, #fff);
    border-radius: var(--border-radius-lg, 12px);
    padding: 1rem 1.1rem 1.15rem;
    max-width: min(520px, 92vw);
    width: 100%;
    box-shadow: 0 12px 40px rgba(0,0,0,0.22);
}
.cagri-cihazi-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}
.cagri-cihazi-picker-head h3 { margin: 0; font-size: 1.05rem; }
.cagri-cihazi-picker-hint {
    margin: 0 0 0.75rem;
    font-size: 0.82rem;
    color: var(--text-muted, #666);
}
.cagri-cihazi-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
    gap: 0.45rem;
    max-height: min(50vh, 360px);
    overflow-y: auto;
}
.cagri-cihazi-picker-btn {
    min-height: 44px;
    border: 2px solid #c5cae9;
    border-radius: 8px;
    background: #fff;
    font-size: 1.05rem;
    font-weight: 800;
    color: #283593;
    cursor: pointer;
}
.cagri-cihazi-picker-btn.active,
.cagri-cihazi-picker-btn:hover:not(:disabled) {
    background: #3949ab;
    border-color: #283593;
    color: #fff;
}
.cagri-cihazi-picker-btn:disabled { opacity: 0.55; cursor: wait; }
.cagri-cihazi-picker-footer { margin-top: 0.75rem; display: flex; justify-content: flex-end; }

.order-note-preview-summary {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin-top: 0.35rem;
    padding: 0.4rem 0.5rem;
    border-radius: var(--border-radius);
    border: 1px solid rgba(230, 81, 0, 0.35);
    background: rgba(255, 152, 0, 0.09);
    font-size: 0.78rem;
    color: var(--text-primary, #333);
    line-height: 1.35;
}
.order-note-preview-summary .fa-sticky-note {
    color: #e65100;
    flex-shrink: 0;
    margin-top: 0.08rem;
    opacity: 0.9;
}
.order-note-preview-summary-text {
    flex: 1;
    min-width: 0;
    white-space: pre-wrap;
    word-break: break-word;
}
.theme-dark .order-note-preview-summary {
    border-color: rgba(255, 183, 77, 0.4);
    background: rgba(255, 152, 0, 0.12);
    color: rgba(255, 255, 255, 0.92);
}
.theme-dark .order-note-preview-summary .fa-sticky-note {
    color: #ffcc80;
}

.btn-edit-discount {
    width: 100%;
    padding: 0.5rem;
    background-color: var(--light-gray);
    border: 1px solid var(--success);
    border-radius: var(--border-radius);
    color: var(--success);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 500;
}

.btn-edit-discount:hover {
    background-color: var(--success);
    color: var(--white);
}

/* İndirim Modal - ürün kartı opsiyon butonlarının üstünde (z-index 25000) */
.discount-modal-overlay {
    z-index: 25000;
}
.discount-modal-overlay .discount-modal {
    position: relative;
    z-index: 1;
}
.discount-modal {
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    width: 90%;
    min-width: 340px;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    animation: slideUp 0.3s ease;
    border: 2px solid var(--primary);
}
.discount-modal .modal-body {
    padding: 1rem 1.25rem;
}

.discount-section {
    margin-bottom: 1.5rem;
}

.discount-section h3 {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}

.discount-quick-add {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.discount-quick-add-name {
    min-width: 120px;
    flex: 1;
    max-width: 160px;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
}
.discount-quick-add-amount {
    width: 80px;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
}
.discount-quick-add-pct {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
}
.discount-quick-add-btn {
    padding: 0.4rem 0.75rem;
}

/* Hazır indirimler grid: 1=col-12, 2=col-6, 3=col-4, 4+=col-3 (max 4 yan yana) */
.discount-grid {
    display: grid;
    gap: 0.5rem;
}
.discount-grid-cols-1 { grid-template-columns: 1fr; }
.discount-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.discount-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.discount-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

.campaign-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.campaign-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    padding: 0.75rem;
    background-color: var(--lighter-gray);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
    text-align: center;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.campaign-btn:hover {
    background-color: var(--light-gray);
    border-color: var(--primary);
    transform: translateY(-1px);
}

.campaign-value {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--discount-green, #0d7d4d);
}

.campaign-name {
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
}

/* İndirim modalı: Ara toplam + canlı önizleme */
.discount-modal .discount-summary-preview {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: rgba(0,0,0,0.04);
    border-radius: 8px;
}
.discount-modal .discount-preview-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
}
.discount-modal .discount-preview-indirim { color: var(--secondary, #6c757d); }
.discount-modal .discount-preview-total {
    font-weight: 700;
    margin-top: 0.25rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(0,0,0,0.08);
}
/* İndirim modalı: Yüzde/Tutar + Numpad – net kolon yapısı, tek stilsiz alan yok */
.discount-modal .discount-custom-section {
    margin-bottom: 1rem;
}
.discount-modal .discount-custom-title {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}
.discount-modal .discount-custom-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    align-items: start;
    min-width: 0;
}
.discount-modal .discount-custom-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}
.discount-modal .discount-form-row {
    display: grid;
    grid-template-columns: 2rem 1fr;
    align-items: center;
    gap: 0.5rem;
}
.discount-modal .discount-form-apply-row {
    grid-template-columns: 1fr;
    margin-top: 0.25rem;
}
.discount-modal .discount-form-note-row {
    grid-template-columns: 1fr;
}
.discount-modal .discount-note-input {
    width: 100%;
    min-width: 0;
}
.discount-modal .discount-form-apply-single {
    width: 100%;
    padding: 0.85rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    background: #198754;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}
.discount-modal .discount-form-apply-single:hover:not(:disabled) {
    background: #157347;
    transform: translateY(-1px);
}
.discount-modal .discount-form-apply-single:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.discount-modal .discount-form-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-align: center;
    margin: 0;
}
.discount-modal .discount-form-input {
    width: 100%;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    border: 2px solid var(--border-color, #ddd);
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    text-align: right;
    color: var(--text-primary);
    background: #fff;
    box-sizing: border-box;
}
.discount-modal .discount-form-input:focus,
.discount-modal .discount-form-input.discount-input-active {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.2);
}
.discount-modal .discount-form-input::placeholder {
    color: #aaa;
}
.discount-modal .discount-form-btn {
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    border: none;
    border-radius: 8px;
    background: var(--success);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}
.discount-modal .discount-form-btn:hover:not(:disabled) {
    background: var(--success-hover);
    transform: translateY(-1px);
}
.discount-modal .discount-form-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.discount-modal .discount-form-remove {
    margin-top: 0.25rem;
    grid-template-columns: 1fr;
}
.discount-modal .discount-form-remove .btn-remove-discount {
    width: 100%;
    font-size: 1rem;
    font-weight: 700;
    background: var(--danger, #dc3545);
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.discount-modal .discount-form-remove .btn-remove-discount:hover {
    background: #c82333;
    transform: translateY(-1px);
}

/* Numpad – sadece indirim modalında, global .numpad’den bağımsız */
.discount-modal .discount-custom-numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    width: auto;
    min-width: 172px;
    flex-shrink: 0;
}
.discount-modal .discount-numpad-btn {
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    padding: 0;
    border: 2px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: #f5f5f5;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, border-color 0.15s;
}
.discount-modal .discount-numpad-btn:hover {
    background: #e8e8e8;
    border-color: var(--primary);
}
.discount-modal .discount-numpad-btn:active {
    transform: scale(0.96);
}
.discount-modal .discount-numpad-clear {
    background: #ffcdd2;
    border-color: #e57373;
    color: #b71c1c;
}
.discount-modal .discount-numpad-clear:hover {
    background: #ef9a9a;
}
.discount-modal .discount-numpad-backspace {
    background: #e3f2fd;
    border-color: #64b5f6;
    color: #1565c0;
}
.discount-modal .discount-numpad-backspace:hover {
    background: #bbdefb;
}
.discount-modal .discount-numpad-decimal {
    font-weight: 700;
    font-size: 1.1rem;
}

.discount-input-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.discount-input {
    flex: 1;
    padding: 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
}

.discount-input:focus {
    outline: none;
    border-color: var(--primary);
}

.btn-apply-discount {
    padding: 0.5rem 1rem;
    background-color: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-apply-discount:hover:not(:disabled) {
    background-color: #e0143a;
    transform: translateY(-1px);
}

.btn-apply-discount:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-remove-discount {
    width: 100%;
    padding: 0.75rem;
    background-color: var(--danger);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-remove-discount:hover {
    background-color: #d32f2f;
    transform: translateY(-1px);
}

/* Numpad Styles (indirim modalında altta açılan - kompakt düzen numpad sağda) */
.numpad-container {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}
.discount-modal .numpad-container {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.numpad-btn {
    padding: 1rem;
    font-size: 1.25rem;
    font-weight: 600;
    border: 2px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-primary);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.numpad-btn:hover {
    background: var(--light-gray);
    border-color: var(--primary);
    transform: translateY(-1px);
}

.numpad-btn.numpad-clear {
    background: var(--danger);
    color: var(--white);
    border-color: var(--danger);
}

.numpad-btn.numpad-clear:hover {
    background: #d32f2f;
}

.numpad-btn.numpad-backspace {
    background: var(--secondary);
    color: var(--white);
    border-color: var(--secondary);
}

.numpad-btn.numpad-backspace:hover {
    background: #2a2a2a;
}

.btn-close-numpad {
    width: 100%;
    padding: 0.75rem;
    background: var(--secondary);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-close-numpad:hover {
    background: #2a2a2a;
}

.discount-input[readonly] {
    cursor: pointer;
    background-color: var(--white);
}

/* ============================================
   Sales Page (Laravel PosSalePage.vue'den)
   ============================================ */
.sales-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    padding: 0.75rem;
    overflow: hidden;
}

.sales-catalog-body {
    flex: 1;
    min-height: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Katalog düzeni: gruplar solda / sağda dikey şerit */
.sales-view--catalog-groups-left .sales-catalog-body,
.sales-view--catalog-groups-right .sales-catalog-body {
    flex-direction: row;
    align-items: stretch;
    gap: 0.5rem;
}

.sales-view--catalog-groups-left .categories-row,
.sales-view--catalog-groups-right .categories-row {
    flex: 0 0 var(--pos-category-bar-width, min(200px, 24vw));
    width: var(--pos-category-bar-width, auto);
    max-width: var(--pos-category-bar-width, 220px);
    min-width: 100px;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    margin-bottom: 0;
    position: relative;
}

.sales-view--catalog-groups-left .categories-row .categories-bar,
.sales-view--catalog-groups-right .categories-row .categories-bar {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: stable;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    grid-template-columns: none !important;
    /* Titreme taşmasını scroll tetiklemesin */
    padding: 2px 4px 2px 2px;
    box-sizing: border-box;
}

.sales-view--catalog-groups-left .categories-bar-loading,
.sales-view--catalog-groups-right .categories-bar-loading {
    grid-column: auto;
}

.sales-view--catalog-groups-right .categories-row {
    order: 2;
}

.sales-view--catalog-groups-right .products-container {
    order: 1;
}

.sales-view--catalog-groups-left .products-container,
.sales-view--catalog-groups-right .products-container {
    flex: 1;
    min-width: 0;
    padding-top: 0;
}

.sales-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    padding: 0 0.5rem;
    flex-shrink: 0;
}

.sales-header h1 {
    font-size: 1.5rem;
    color: var(--text-primary);
    margin: 0;
}

.search-box {
    position: relative;
}

.search-input {
    width: 100%;
    padding: 0.5rem 2.5rem 0.5rem 0.75rem;
    border: 2px solid #ddd;
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    transition: border-color 0.3s;
}

.search-input:focus {
    outline: none;
    border-color: var(--primary);
}

.search-box i {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 0.9rem;
}

/* Kategori satırı: bar + görünüm ayarları butonu */
.categories-row {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    flex-shrink: 0;
}
.categories-row .categories-bar {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}
/* Hızlı satış görünüm ayarları butonu */
.pos-view-settings-btn {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--light-gray);
    background: var(--white);
    color: var(--text-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}
.pos-view-settings-btn:hover {
    background: var(--light-gray);
    color: var(--primary);
}
.theme-dark .pos-view-settings-btn {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.2);
}
.theme-dark .pos-view-settings-btn:hover {
    background: rgba(255,255,255,0.15);
}
/* Title bar + görünüm dropdown wrapper (dropdown title bar’ın hemen altında, menüye bağlı) */
/* Hızlı satış: 3 sn basılı tutunca görünen ripple (basılı tutma göstergesi) */
.pos-view-settings-ripple {
    position: fixed;
    width: 120px;
    height: 120px;
    margin-left: -60px;
    margin-top: -60px;
    left: 0;
    top: 0;
    border-radius: 50%;
    background: rgba(59, 130, 246, 0.22);
    border: 3px solid rgba(59, 130, 246, 0.5);
    transform: scale(var(--progress, 0));
    transform-origin: center;
    pointer-events: none;
    z-index: 160;
    transition: transform 0.05s linear;
}
.theme-dark .pos-view-settings-ripple {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.35);
}
.title-bar-with-view-settings {
    position: relative;
    flex-shrink: 0;
    /* z-index: 100; */
    overflow: visible;
}
/* Görünüm paneli açık: sol sütun + üst bar + menü + market kısayol paneli bulanık; yalnızca sales-view (kategori+ürün) net */
.pos-app--view-settings-open .left-panel > *:not(.pos-left-panel-flip-overlay):not(.adisyon-pin-slots),
.pos-app--view-settings-open .right-panel > .title-bar-with-view-settings,
.pos-app--view-settings-open .right-panel > .top-navigation,
.pos-app--view-settings-open .fast-sale-shortcut-panel {
    filter: blur(4px);
    transition: filter 0.35s ease;
    /* Bulanık görünür ama tıklanabilir kalıyordu: kapat / hesap vb. engellenir */
    pointer-events: none;
}
/* Düzenleme modunda adisyon paneli taşıma katmanı net ve tıklanabilir */
.pos-app--view-settings-open .left-panel {
    pointer-events: auto;
}
.pos-left-panel-flip-overlay {
    filter: none !important;
    pointer-events: auto !important;
    position: absolute;
    inset: 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.75rem;
    border: none;
    background: rgba(255, 255, 255, 0.42);
    color: var(--primary, #1976d2);
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.pos-left-panel-flip-overlay:hover {
    background: rgba(255, 255, 255, 0.55);
}
.pos-left-panel-flip-label {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.theme-dark .pos-left-panel-flip-overlay {
    background: rgba(0, 0, 0, 0.35);
    color: #90caf9;
}
.theme-dark .pos-left-panel-flip-overlay:hover {
    background: rgba(0, 0, 0, 0.48);
}
/* Edit: pin satırı blur dışında; --mid ile ortada konumlanır */
.pos-app--view-settings-open .adisyon-pin-slots {
    filter: none !important;
    pointer-events: auto !important;
    z-index: 75;
}
.pos-app--view-settings-open .adisyon-pin-slots--mid {
    position: absolute;
}
.pos-app--view-settings-open .pos-left-panel-flip-overlay {
    bottom: 0;
}
/* Adisyon paneli sağda: içerik 1fr, adisyon sabit genişlik (order ile sütun eşlemesi) */
.pos-app--left-panel-right:not(.pos-app-full-content) .pos-app-stage {
    grid-template-columns: 1fr var(--sidebar-width);
}
.pos-app--left-panel-right:not(.pos-app-full-content) .left-panel {
    order: 2;
    grid-column: 2;
    box-shadow: -5px 0 8px rgba(0, 0, 0, 0.2);
}
.pos-app--left-panel-right:not(.pos-app-full-content) .right-panel {
    order: 1;
    grid-column: 1;
    min-width: 0;
}

/* Adisyon paneli sağdayken FAB menüleri panel içinde kalır (sağ kenara hizalı, sola doğru açılır) */
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .payment-fab-wrap .payment-fab-items,
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .payment-fab-wrap .payment-fab-items.payment-fab-open {
    left: auto;
    right: 0;
    width: min(200px, var(--sidebar-width));
    max-width: calc(var(--sidebar-width) - 0.75rem);
    min-width: 0;
    transform: translateY(8px);
}
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .payment-fab-wrap .payment-fab-items.payment-fab-open {
    transform: translateY(0);
}
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .print-fab-wrap .print-fab-items,
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .print-fab-wrap .print-fab-items.payment-fab-open {
    left: auto;
    right: 0;
    width: min(130px, var(--sidebar-width));
    max-width: calc(var(--sidebar-width) - 0.75rem);
    min-width: 0;
    transform: translateY(8px);
}
.pos-app--left-panel-right .order-actions:not(.order-actions-market) > .print-fab-wrap .print-fab-items.payment-fab-open {
    transform: translateY(0);
}
.pos-app--view-settings-open .right-panel > .content-area {
    /* Alt boşluk / yan boşluklardan tıklama sızmasın; yalnızca sales-view yeniden açılır */
    pointer-events: none;
}
.pos-app--view-settings-open .right-panel > .content-area .sales-view {
    filter: none !important;
    transition: filter 0.35s ease;
    /* Düzenleme modunda yalnızca kategori şeridi + ürün grid etkileşimli */
    pointer-events: auto;
}
.pos-app--view-settings-open .products-container {
    /* Alt düzenleme çubuğu ürünleri örtmesin */
    padding-bottom: calc(var(--pos-edit-bar-h, 100px) + 1.25rem + env(safe-area-inset-bottom, 0px));
}
.pos-app--view-settings-open .sales-view--catalog-groups-left .categories-bar,
.pos-app--view-settings-open .sales-view--catalog-groups-right .categories-bar {
    padding-bottom: calc(var(--pos-edit-bar-h, 100px) + 0.75rem + env(safe-area-inset-bottom, 0px));
}

/* Düzenleme: kategori şeridi kenarından boyutlandırma (dokunmatik uyumlu hit alanı) */
.pos-cat-resize-handle {
    position: absolute;
    z-index: 6;
    touch-action: none;
    -webkit-user-select: none;
    user-select: none;
    background: transparent;
}
.pos-cat-resize-handle--width {
    top: 0;
    bottom: 28px;
    right: -10px;
    width: 20px;
    cursor: col-resize;
}
.pos-cat-resize-handle--width-left {
    right: auto;
    left: -10px;
}
.pos-cat-resize-handle--height {
    left: 0;
    right: 0;
    bottom: -8px;
    height: 22px;
    cursor: row-resize;
}
.pos-cat-resize-handle--width::after,
.pos-cat-resize-handle--height::after {
    content: '';
    position: absolute;
    background: var(--primary, #1976d2);
    opacity: 0.35;
    border-radius: 999px;
    pointer-events: none;
}
.pos-cat-resize-handle--width::after {
    top: 20%;
    bottom: 20%;
    left: 50%;
    width: 4px;
    transform: translateX(-50%);
}
.pos-cat-resize-handle--height::after {
    left: 18%;
    right: 18%;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
}
.pos-cat-resize-handle:active::after,
.pos-cat-resize-handle:hover::after {
    opacity: 0.75;
}

.pos-app--view-settings-open .right-panel > .content-area .customers-keep-alive-slot {
    pointer-events: none;
}
.pos-app--view-settings-open .right-panel > .content-area .invoices-keep-alive-slot {
    pointer-events: none;
}
/* Cari senk / TSM şeridi düzenleme sırasında tıklanmasın */
.pos-app--view-settings-open .maestro-cari-sync-bar,
.pos-app--view-settings-open .tsm-pending-panel {
    pointer-events: none;
}
/* Basılı tutma ripple görseli tıkları yemesin */
.pos-app--view-settings-open .pos-view-settings-ripple {
    pointer-events: none !important;
}
.pos-view-settings-panel {
    margin: 0 0.75rem 0.5rem;
    border-radius: 0 0 12px 12px;
    overflow: hidden;
    background: var(--white, #fff);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-top: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
/* Görünüm çubuğu: ana pencerenin altı, en fazla %90 genişlik, yatay ortada */
.pos-view-settings-bottom-wrap {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10040;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: env(safe-area-inset-bottom, 0);
    pointer-events: none;
    filter: none !important;
}
/* Edit önizleme: canvas scale; alt bar için padding, sahne kalan yüksekliğe sığar */
.pos-app--view-settings-open {
    --pos-edit-inset: 2rem;
    --pos-edit-bar-h: min(20vh, 100px);
    --pos-edit-scale: 0.94;
    background-color: #3a3a3a;
    padding: 0;
    padding-bottom: var(--pos-edit-bar-h);
    box-sizing: border-box;
    height: var(--app-shell-h, 100vh);
    max-height: var(--app-shell-h, 100vh);
}
.theme-dark .pos-app--view-settings-open {
    background-color: #121212;
}
.pos-app--view-settings-open .pos-app-stage {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    transform: scale(var(--pos-edit-scale));
    transform-origin: top center;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
    background-color: var(--light-gray);
}
.theme-dark .pos-app--view-settings-open .pos-app-stage {
    background-color: var(--bg-primary, #1a1a1a);
}
.pos-app--view-settings-open .main-content,
.pos-app--view-settings-open .app-layout,
.pos-app--view-settings-open > .content-wrapper {
    padding-bottom: 0;
}
.pos-app--view-settings-open .right-panel > .content-area {
    transform: none;
    max-height: none;
}
.pos-app--view-settings-open .products-container {
    padding-bottom: 1rem;
}
.pos-app--view-settings-open .sales-view--catalog-groups-left .categories-bar,
.pos-app--view-settings-open .sales-view--catalog-groups-right .categories-bar {
    padding-bottom: 0.75rem;
}
.pos-view-settings-bottom {
    width: min(100%, 95vw);
    max-width: 95vw;
    pointer-events: auto;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.14);
    border-radius: 12px 12px 0 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-bottom: none;
    background: var(--white, #fff);
    max-height: var(--pos-edit-bar-h, min(20vh, 120px));
}
.theme-dark .pos-view-settings-bottom {
    background: var(--bg-secondary, #1e1e1e);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.45);
}
.pos-view-settings-bottom-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0.4rem 0.55rem;
    min-height: 0;
    max-height: none;
    overflow: visible;
}
.pos-view-settings-bottom-toolbar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    min-width: 0;
}
.pos-view-settings-bottom-actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    flex-shrink: 0;
    width: auto;
    padding-top: 0;
    border-top: none;
}
.theme-dark .pos-view-settings-bottom-actions {
    border-top-color: transparent;
}
.pos-view-settings-hint-ico {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    background: rgba(33, 150, 243, 0.12);
    color: var(--primary, #1976d2);
    font-size: 0.85rem;
    cursor: help;
}
.theme-dark .pos-view-settings-hint-ico {
    background: rgba(100, 181, 246, 0.18);
    color: #90caf9;
}
.pos-view-settings-apply-to--inline {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0.25rem;
    flex-shrink: 0;
}
.pos-view-settings-apply-to--inline .pos-view-settings-apply-btn {
    padding: 0.28rem 0.45rem;
    font-size: 0.72rem;
}
.pos-view-settings-apply-to--inline .pos-view-settings-apply-btn span {
    max-width: 7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pos-view-settings-item--compact {
    flex-shrink: 0;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 0.25rem;
    padding: 0 0.15rem;
}
.pos-view-settings-item--compact .pos-view-settings-item-label {
    font-size: 0.68rem;
    min-width: 0;
    white-space: nowrap;
}
.pos-view-settings-item--compact .pos-view-settings-stepper {
    transform: scale(0.92);
    transform-origin: center left;
}
.pos-view-settings-toggle-inline {
    flex-shrink: 0;
    margin: 0;
    cursor: pointer;
    gap: 0.35rem;
}
.pos-view-settings-toggle-inline .pos-view-settings-item-label {
    margin: 0;
}
.pos-view-settings-layout-pick .pos-view-settings-segment {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.12);
}
.pos-view-settings-segment-btn {
    border: none;
    background: var(--white, #fff);
    color: var(--text-primary, #333);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.22rem 0.38rem;
    cursor: pointer;
    line-height: 1.2;
    white-space: nowrap;
}
.pos-view-settings-segment-btn + .pos-view-settings-segment-btn {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.pos-view-settings-segment-btn.active {
    background: var(--primary, #1976d2);
    color: #fff;
}
.theme-dark .pos-view-settings-segment-btn {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.88);
}
.theme-dark .pos-view-settings-layout-pick .pos-view-settings-segment {
    border-color: rgba(255, 255, 255, 0.14);
}
.pos-view-settings-bottom-actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    flex-shrink: 0;
    width: auto;
    padding-top: 0;
    border-top: none;
}
.theme-dark .pos-view-settings-bottom-actions {
    border-top-color: transparent;
}
.pos-view-settings-bottom .pos-view-settings-cancel-btn,
.pos-view-settings-bottom .pos-view-settings-save-btn {
    padding: 0.35rem 0.65rem;
    font-size: 0.75rem;
    border-radius: 8px;
    white-space: nowrap;
}
.pos-view-settings-bottom .pos-view-settings-save-btn.pos-view-settings-accept-btn {
    color: #fff;
    border: none;
    background: linear-gradient(180deg, #4caf50 0%, #2e7d32 100%);
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.35);
}
.pos-view-settings-bottom .pos-view-settings-save-btn.pos-view-settings-accept-btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 3px 10px rgba(46, 125, 50, 0.45);
}
.pos-view-settings-bottom .pos-view-settings-save-btn.pos-view-settings-accept-btn:active {
    filter: brightness(0.96);
}
.theme-dark .pos-view-settings-bottom .pos-view-settings-save-btn.pos-view-settings-accept-btn {
    background: linear-gradient(180deg, #388e3c 0%, #1b5e20 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.pos-view-settings-bottom-enter-active,
.pos-view-settings-bottom-leave-active {
    transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
}
.pos-view-settings-bottom-enter-from,
.pos-view-settings-bottom-leave-to {
    transform: translateY(110%);
    opacity: 0.85;
}
.pos-view-settings-bottom-enter-to,
.pos-view-settings-bottom-leave-from {
    transform: translateY(0);
    opacity: 1;
}
.theme-dark .pos-view-settings-panel {
    background: var(--bg-secondary, #1e1e1e);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
/* Üst şerit: custom-title-bar ile aynı palet */
.pos-view-settings-ribbon {
    height: 4px;
    background: linear-gradient(90deg, var(--primary-second) 0%, var(--primary) 45%, var(--nav-bg) 100%);
    opacity: 0.95;
}
.pos-view-settings-section--reorder {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem 1rem 0.55rem;
    background: linear-gradient(180deg, rgba(33, 150, 243, 0.07) 0%, transparent 100%);
    border-bottom: 1px solid rgba(33, 150, 243, 0.15);
}
.theme-dark .pos-view-settings-section--reorder {
    background: linear-gradient(180deg, rgba(100, 181, 246, 0.1) 0%, transparent 100%);
    border-bottom-color: rgba(100, 181, 246, 0.2);
}
.pos-view-settings-section-icon {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(33, 150, 243, 0.12);
    color: var(--primary, #1976d2);
    font-size: 0.9rem;
}
.theme-dark .pos-view-settings-section-icon {
    background: rgba(100, 181, 246, 0.18);
    color: #90caf9;
}
.pos-view-settings-reorder-hint {
    margin: 0;
    padding: 0;
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--text-secondary, #546e7a);
}
.theme-dark .pos-view-settings-reorder-hint {
    color: rgba(255, 255, 255, 0.78);
}
.pos-view-settings-section-title {
    padding: 0 1rem 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary, #78909c);
}
.theme-dark .pos-view-settings-section-title {
    color: rgba(255, 255, 255, 0.5);
}
.pos-view-settings-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 0.5rem 1rem 0.75rem;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
.pos-view-settings-bar--stacked {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.65rem;
}
.pos-view-settings-bar--stacked .pos-view-settings-item {
    width: 100%;
    justify-content: space-between;
    max-width: none;
}
.pos-view-settings-apply-to--stacked {
    flex-direction: column;
    width: 100%;
    flex: 0 0 auto;
    gap: 0.4rem;
}
.pos-view-settings-apply-to--stacked .pos-view-settings-apply-btn {
    width: 100%;
    justify-content: center;
}
.pos-view-settings-section--layout {
    padding: 0.5rem 0 0;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.pos-view-settings-panel--drawer .pos-view-settings-section--layout {
    overflow: hidden;
}
.pos-view-settings-panel--drawer .pos-view-settings-bar--stacked {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}
.pos-view-settings-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.65rem 1rem 0.75rem;
    margin-top: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(0, 0, 0, 0.02);
}
.theme-dark .pos-view-settings-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.2);
}
.pos-view-settings-footer--stacked {
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-top: auto;
    flex-shrink: 0;
}
.pos-view-settings-footer--stacked .pos-view-settings-cancel-btn,
.pos-view-settings-footer--stacked .pos-view-settings-save-btn {
    width: 100%;
    justify-content: center;
}
.pos-view-settings-panel--drawer .pos-view-settings-footer {
    margin-top: auto;
}
.pos-view-settings-close-btn,
.pos-view-settings-cancel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.4rem;
    padding: 0.45rem 1rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--text-secondary, #546e7a);
    background: var(--white, #fff);
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-close-btn:hover,
.pos-view-settings-cancel-btn:hover {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.18);
    color: var(--text-primary, #333);
}
.pos-view-settings-close-btn:active,
.pos-view-settings-cancel-btn:active {
    transform: scale(0.98);
}
.theme-dark .pos-view-settings-close-btn,
.theme-dark .pos-view-settings-cancel-btn {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.85);
}
.theme-dark .pos-view-settings-close-btn:hover,
.theme-dark .pos-view-settings-cancel-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.28);
    color: #fff;
}
.pos-view-settings-save-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.4rem;
    padding: 0.45rem 1.15rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(25, 118, 210, 0.35);
    transition: transform 0.15s, box-shadow 0.2s, filter 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-save-btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 4px 14px rgba(25, 118, 210, 0.45);
}
.pos-view-settings-save-btn:active {
    transform: scale(0.98);
}
.theme-dark .pos-view-settings-save-btn {
    background: linear-gradient(135deg, #42a5f5 0%, #1976d2 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
/* Ayarı uygula: Sadece ben | Tümü (yan yana) */
.pos-view-settings-apply-to {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 0.35rem;
}
.pos-view-settings-apply-btn {
    min-height: 2.25rem;
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    background: var(--white);
    color: var(--text-secondary);
    font-size: 0.85rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-apply-btn i { opacity: 0.85; }
.pos-view-settings-apply-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: rgba(0,0,0,0.04);
}
.pos-view-settings-apply-btn.active {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}
.pos-view-settings-apply-btn.active i { opacity: 1; }
.theme-dark .pos-view-settings-apply-btn {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.2);
}
.theme-dark .pos-view-settings-apply-btn.active {
    background: var(--primary);
    border-color: var(--primary);
}
/* Her ayar: kısa label + stepper (yan yana) */
.pos-view-settings-item {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
}
.pos-view-settings-item-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-secondary);
    white-space: nowrap;
}
/* Stepper: [-] değer [+] */
.pos-view-settings-stepper {
    display: flex;
    align-items: center;
    gap: 0.15rem;
}
.pos-view-settings-minus,
.pos-view-settings-plus {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    min-height: 2.25rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    background: var(--white);
    color: var(--text-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.1s;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-minus:hover:not(:disabled),
.pos-view-settings-plus:hover:not(:disabled) {
    background: var(--light-gray);
    border-color: var(--light-gray);
    color: var(--primary);
}
.pos-view-settings-minus:active:not(:disabled),
.pos-view-settings-plus:active:not(:disabled) {
    transform: scale(0.96);
}
.pos-view-settings-minus:disabled,
.pos-view-settings-plus:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.pos-view-settings-value {
    min-width: 2rem;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}
.theme-dark .pos-view-settings-stepper .pos-view-settings-minus,
.theme-dark .pos-view-settings-stepper .pos-view-settings-plus {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.2);
}
.theme-dark .pos-view-settings-stepper .pos-view-settings-minus:hover:not(:disabled),
.theme-dark .pos-view-settings-stepper .pos-view-settings-plus:hover:not(:disabled) {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.3);
}
.pos-view-settings-save {
    min-height: 2.25rem;
    padding: 0.4rem 0.9rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-close {
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    min-height: 2.25rem;
    margin-left: auto;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.pos-view-settings-close:hover {
    background: rgba(0,0,0,0.06);
    color: var(--text-primary);
}
.theme-dark .pos-view-settings-close:hover {
    background: rgba(255,255,255,0.1);
}

/* Categories Bar: grid satır başına N kategori (pos_categories_per_row), inline style ile override edilir; eşit genişlik, responsive */
.categories-bar {
    display: grid;
    grid-template-columns: repeat(8, 1fr); /* varsayılan 8; JS'den posCategoriesPerRow ile override */
    gap: 0.5rem;
    border-radius: var(--border-radius);
    flex-shrink: 0;
}

.categories-bar-loading {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    color: var(--text-secondary, #666);
    font-size: 0.9rem;
}

.categories-bar-loading .fa-spinner {
    font-size: 1.25rem;
}

.category-btn {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: var(--pos-category-justify, center);
    padding: 0.6rem 0.75rem;
    border: none;
    border-radius: 6px;
    background: var(--category-bg);
    color: var(--category-text);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, box-shadow 0.12s ease;
    text-align: var(--pos-category-text-align, center);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    min-height: var(--pos-category-btn-height, auto);
    height: var(--pos-category-btn-height, auto);
    box-sizing: border-box;
    /* Eşit uzunluk: grid hücresini doldur */
    width: 100%;
}

/* Görünürlük anahtarı kart dışında değil — üzerine biner; kart boyutu edit/kayıtta aynı */
.category-btn-wrap {
    position: relative;
    display: block;
    min-width: 0;
    width: 100%;
}
.category-btn-wrap .category-btn {
    width: 100%;
}
.category-btn-wrap--edit .category-vis-hit {
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    width: 28px;
    height: 16px;
}
.category-btn-wrap--edit .category-btn {
    /* Mini switch kadar sol boşluk — grup adı üstüne binmesin */
    padding-left: 2.35rem;
    padding-right: 0.55rem;
    justify-content: flex-start;
}

.category-btn-wrap--edit .category-btn .category-btn-text {
    text-align: left;
}

.category-btn.category-btn--with-vis {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.category-vis-hit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

/* Kasa > Ürünler grup görünürlüğü: kasiyer izinlerindeki mini switch boyutu */
.category-vis-hit .app-switch.app-switch--mini {
    width: 28px;
    height: 16px;
    transform: none;
}
.category-vis-hit .app-switch.app-switch--mini .app-switch-slider {
    border-radius: 16px;
}
.category-vis-hit .app-switch.app-switch--mini .app-switch-slider::before {
    height: 12px;
    width: 12px;
    left: 2px;
    top: 2px;
}
.category-vis-hit .app-switch.app-switch--mini input:checked + .app-switch-slider::before {
    transform: translateX(12px);
}

.category-btn .category-btn-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: var(--pos-category-text-align, center);
    line-height: 1.2;
}
.category-btn-img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    margin-right: 0.4rem;
}
.category-btn.category-btn--has-img {
    justify-content: flex-start;
}

.category-btn:hover {
    background: #3a3a3a;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.category-btn.active {
    background: var(--category-active-bg);
}

/* Kategori: titreme yok (scrollbar flicker); düzenleme için sabit çerçeve */
.category-btn.category-btn--jiggle,
.category-btn-wrap--edit .category-btn {
    animation: none;
    box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.28);
}
.category-btn.category-btn--jiggle:hover {
    box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.45), 0 4px 8px rgba(0, 0, 0, 0.2);
}
.category-btn.category-btn--dragging {
    opacity: 0.88;
    z-index: 25;
    outline: 2px solid var(--primary, #1976d2);
    outline-offset: 1px;
}
.category-btn.category-btn--drop-before,
.category-btn.category-btn--drop-after {
    overflow: visible;
    z-index: 4;
}
/* Bırakma: hedefin soluna / sağına dikey kesikli çizgi */
.category-btn.category-btn--drop-before::before {
    content: '';
    position: absolute;
    left: -5px;
    top: 10%;
    width: 5px;
    height: 80%;
    border-radius: 2px;
    background: repeating-linear-gradient(
        180deg,
        var(--primary, #1976d2) 0 5px,
        transparent 5px 10px
    );
    pointer-events: none;
    z-index: 6;
    box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.35);
}
.category-btn.category-btn--drop-after::before {
    content: '';
    position: absolute;
    right: -5px;
    left: auto;
    top: 10%;
    width: 5px;
    height: 80%;
    border-radius: 2px;
    background: repeating-linear-gradient(
        180deg,
        var(--primary, #1976d2) 0 5px,
        transparent 5px 10px
    );
    pointer-events: none;
    z-index: 6;
    box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.35);
}
.theme-dark .category-btn.category-btn--drop-before::before,
.theme-dark .category-btn.category-btn--drop-after::before {
    background: repeating-linear-gradient(
        180deg,
        #64b5f6 0 5px,
        transparent 5px 10px
    );
    box-shadow: 0 0 0 1px rgba(100, 181, 246, 0.4);
}

/* Products Container */
.products-container {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding-top: 0.6rem;
    scrollbar-gutter: stable;
    display: flex;
    flex-direction: column;
}

.products-container > .empty-state.empty-state-centered {
    flex: 1;
    min-height: min(50vh, 400px);
    width: 100%;
    box-sizing: border-box;
}

/* Products Grid */
.products-section-with-ikram {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.ikram-toggle-row {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.btn-ikram-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.9rem;
    border: 2px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: #fff;
    color: var(--text-muted, #666);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.btn-ikram-toggle:hover {
    border-color: var(--primary, #00695c);
    color: var(--primary, #00695c);
}
.btn-ikram-toggle.active {
    border-color: #e65100;
    background: #fff3e0;
    color: #e65100;
}
/* Ürün opsiyon modalı: ikram — yeşil (henüz ikram değil) / kırmızı (ikram açık, kaldır) */
.product-options-ikram-row .product-options-ikram-btn {
    width: 100%;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1rem;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.product-options-ikram-btn--off {
    background: #e8f5e9;
    color: #1b5e20;
    border-color: #66bb6a;
}
.product-options-ikram-btn--off:hover {
    background: #c8e6c9;
}
.product-options-ikram-btn--on {
    background: #ffebee;
    color: #b71c1c;
    border-color: #ef5350;
}
.product-options-ikram-btn--on:hover {
    background: #ffcdd2;
}
.product-options-ikram-qty {
    margin-top: 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.product-options-ikram-qty .product-options-label {
    margin: 0;
}

.btn-ikram-toggle .ikram-badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    background: #e65100;
    color: #fff;
    border-radius: 4px;
}
/* N sütun JS'den productsGridStyle ile gelir (pos_categories_per_row); --products-per-row ile font/boyut ölçeklenir */
.products-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr); /* varsayılan; inline style ile override */
    gap: 0.75rem;
    --products-per-row: 8;
}

/* Kare form: aspect-ratio 1/1; grid'den gelen --product-card-height (px) varsa min-height uygulanır */
.product-card {
    position: relative;
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s;
    border: 1px solid var(--light-gray);
    min-width: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-height: var(--product-card-height, auto);
    display: flex;
    flex-direction: column;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--hover-shadow);
}
/* Basıldı efekti: fare ve dokunmatik (dokunmatikte class ile ~220ms görünür) */
.product-card:active,
.product-card.product-card-pressed {
    transform: scale(0.96);
    box-shadow: inset 0 2px 8px rgba(0,0,0,0.12);
    background-color: #eee;
}
.theme-dark .product-card:active,
.theme-dark .product-card.product-card-pressed {
    background-color: rgba(255,255,255,0.12);
    box-shadow: inset 0 2px 8px rgba(0,0,0,0.35);
}

/* Görünüm paneli açıkken hafif titreme — translate yok (scrollbar / taşma titremesini azaltır) */
@keyframes pos-product-card-jiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-0.85deg); }
    75% { transform: rotate(0.85deg); }
}
.product-card.product-card--jiggle {
    animation: pos-product-card-jiggle 0.28s ease-in-out infinite;
    transform-origin: 50% 50%;
}
.product-card.product-card--jiggle:hover {
    box-shadow: var(--hover-shadow);
}
/* Düzen modunda tıklama/sürükleme tüm kart yüzeyinden: görsel/ metin pointer'ı yutmasın */
.product-card.product-card--jiggle .product-image,
.product-card.product-card--jiggle .product-info,
.product-card.product-card--jiggle .product-image img {
    pointer-events: none;
}
.product-card.product-card--jiggle .product-options-btn {
    pointer-events: auto;
}
.product-card.product-card--dragging {
    opacity: 0.92;
    z-index: 20;
    outline: 2px solid var(--primary, #1976d2);
    outline-offset: 2px;
    overflow: visible;
}
/* Ürün grid: üst/alt yarı — yatay kesikli bırakma şeridi */
.product-card.product-card--drop-before,
.product-card.product-card--drop-after {
    overflow: visible;
    z-index: 12;
}
.product-card.product-card--drop-before::before {
    content: '';
    position: absolute;
    left: 4px;
    right: 4px;
    top: -6px;
    height: 6px;
    border-radius: 2px;
    background: repeating-linear-gradient(
        90deg,
        var(--primary, #1976d2) 0 8px,
        transparent 8px 14px
    );
    pointer-events: none;
    z-index: 22;
    box-shadow: 0 1px 0 0 rgba(25, 118, 210, 0.35);
}
.product-card.product-card--drop-after::before {
    content: '';
    position: absolute;
    left: 4px;
    right: 4px;
    bottom: -6px;
    top: auto;
    height: 6px;
    border-radius: 2px;
    background: repeating-linear-gradient(
        90deg,
        var(--primary, #1976d2) 0 8px,
        transparent 8px 14px
    );
    pointer-events: none;
    z-index: 22;
    box-shadow: 0 -1px 0 0 rgba(25, 118, 210, 0.35);
}
.theme-dark .product-card.product-card--drop-before::before,
.theme-dark .product-card.product-card--drop-after::before {
    background: repeating-linear-gradient(
        90deg,
        #64b5f6 0 8px,
        transparent 8px 14px
    );
    box-shadow: 0 1px 0 0 rgba(100, 181, 246, 0.4);
}
.theme-dark .product-card.product-card--drop-after::before {
    box-shadow: 0 -1px 0 0 rgba(100, 181, 246, 0.4);
}
body.pos-product-reorder-dragging {
    cursor: grabbing;
    user-select: none;
    touch-action: none;
    -webkit-touch-callout: none;
}

/* Sürüklenen ürün: imleç/parmağı takip eden önizleme (elementFromPoint hayaleti altındaki karta denk gelir) */
.pos-reorder-product-ghost {
    position: fixed;
    z-index: 10050;
    pointer-events: none;
    width: 88px;
    max-width: min(88px, 28vw);
}
.pos-reorder-product-ghost-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 6px;
    background: var(--white, #fff);
    border: 2px solid var(--primary, #1976d2);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.theme-dark .pos-reorder-product-ghost-inner {
    background: var(--bg-secondary, #1e1e1e);
    border-color: #64b5f6;
}
.pos-reorder-product-ghost-inner img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
    -webkit-user-drag: none;
}
.pos-reorder-product-ghost-title {
    font-size: 0.65rem;
    line-height: 1.2;
    text-align: center;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--text-primary, #333);
}
.theme-dark .pos-reorder-product-ghost-title {
    color: rgba(255, 255, 255, 0.9);
}

/* Sürüklenen kategori etiketi (fareyi takip eder) */
.pos-reorder-category-ghost {
    position: fixed;
    z-index: 10060;
    pointer-events: none;
    max-width: min(220px, 55vw);
}
.pos-reorder-category-ghost-text {
    display: inline-block;
    padding: 0.4rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    background: var(--category-bg, #404040);
    color: var(--category-text, #fff);
    border: 2px solid var(--primary, #1976d2);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.theme-dark .pos-reorder-category-ghost-text {
    border-color: #64b5f6;
}

.product-card-with-options {
    position: relative;
}

.badge-test {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.12rem 0.35rem;
    border-radius: 3px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #5d4037;
    background: #ffe082;
    border: 1px solid #ffca28;
    vertical-align: middle;
}
.product-card .badge-test {
    position: absolute;
    top: 0.35rem;
    left: 0.35rem;
    z-index: 3;
}
.badge-test--table {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    z-index: 3;
}
.badge-test--inline {
    position: static;
    margin-left: 0.35rem;
    flex-shrink: 0;
}

.product-campaign-pill {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    max-width: calc(100% - 42px);
    padding: 0.25rem 0.4rem;
    border-bottom-right-radius: var(--border-radius);
    border-top-left-radius: var(--border-radius);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    backdrop-filter: blur(4px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.product-campaign-pill--active {
    color: #0f5132;
    background: rgba(25, 180, 84, 0.18);
    border: 1px solid rgba(25, 180, 84, 0.34);
}

.product-campaign-pill--conditional {
    color: #0d47a1;
    background: rgba(33, 150, 243, 0.18);
    border: 1px solid rgba(33, 150, 243, 0.34);
}

.theme-dark .product-campaign-pill--active {
    color: #c8f7d2;
    background: rgba(56, 205, 118, 0.22);
    border-color: rgba(56, 205, 118, 0.42);
}

.theme-dark .product-campaign-pill--conditional {
    color: #d5e9ff;
    background: rgba(77, 171, 247, 0.24);
    border-color: rgba(77, 171, 247, 0.45);
}

.product-options-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 1;
    width: var(--product-options-btn-size, 28px);
    height: var(--product-options-btn-size, 28px);
    min-width: var(--product-options-btn-size, 28px);
    padding: 0;
    border: none;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--product-options-btn-font-size, 0.75rem);
    transition: background 0.2s, transform 0.15s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.product-options-btn .product-options-btn-text {
    display: none;
}

.product-options-btn:hover {
    background: var(--primary, #2563eb);
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.product-options-btn:active {
    transform: scale(0.95);
}

.product-image {
    width: 100%;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.product-image img.product-image--fit-contain,
.product-card--image-fit-contain .product-image img {
    object-fit: contain;
}

.product-image img.product-image--fit-cover,
.product-card--image-fit-cover .product-image img {
    object-fit: cover;
}

.product-image-fit-badge {
    position: absolute;
    left: 50%;
    bottom: 0.35rem;
    transform: translateX(-50%);
    z-index: 3;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    background: rgba(15, 23, 42, 0.72);
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.product-card--jiggle .product-image {
    cursor: pointer;
}

.product-card--jiggle .product-image:active {
    outline: 2px solid var(--primary, #2563eb);
    outline-offset: -2px;
}

/* Resim yoksa ortada ürün adı (çatal-bıçak ikonu kaldırıldı) */
.product-name-center {
    font-size: var(--product-name-font-size, calc(0.6rem + 2.8rem / var(--products-per-row, 8)));
    font-weight: var(--product-name-font-weight, 600);
    color: var(--text-primary);
    text-align: center;
    padding: 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    line-height: 1.25;
}
.theme-dark .product-name-center {
    color: var(--text-primary);
}

.product-info {
    padding: calc(0.25rem + 0.2rem * (8 / var(--products-per-row, 8)));
    flex-shrink: 0;
}

/* Başlık ve fiyat: sütun sayısına göre ölçeklenir; ayardan gelen --product-name-font-size / --product-price-font-size varsa onlar kullanılır */
.product-info h3 {
    margin: 0 0 0.15em;
    font-size: var(--product-name-font-size, calc(0.6rem + 2.8rem / var(--products-per-row, 8)));
    color: var(--text-primary);
    font-weight: var(--product-name-font-weight, 600);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-align: left;
}

.product-info .price {
    color: var(--price-color);
    font-weight: var(--price-font-weight);
    margin: 0;
    font-size: var(--product-price-font-size, calc(0.65rem + 2.4rem / var(--products-per-row, 8)));
    text-align: right;
}
.product-info .price.price--campaign {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35em;
    width: 100%;
}
.product-info.product-info-price-only .price.price--campaign {
    justify-content: space-between;
}
.product-info .price .price-sale {
    color: inherit;
    font-weight: inherit;
}
.product-info .price .price-old {
    color: var(--text-secondary, #888);
    font-weight: 500;
    font-size: 0.82em;
    text-decoration: line-through;
    opacity: 0.85;
}

/* Resim yokken sadece fiyat altta (ürün adı ortada gösterildiği için h3 yok) */
.product-info.product-info-price-only {
    padding-top: 0.2rem;
}
.product-info.product-info-price-only .price {
    text-align: center;
}

/* ============================================
   Tables Page
   ============================================ */
.tables-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    padding: 1rem; /* 0.75rem'den küçültüldü */
    position: relative; /* Alt panel için relative positioning */
    box-sizing: border-box;
}

.tables-view .table-groups-bar {
    padding: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: grid;
    gap: 0.5rem;
    align-items: stretch;
    /* grid-template-columns: Ayarlar > Masa tanımları → masa_grup_satiri (inline style) */
}

.table-groups-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-items: stretch;
}

.tables-view .table-group-btn {
    width: 100%;
    min-width: 0;
    max-width: none;
    flex: none;
    min-height: 2.4rem;
    box-sizing: border-box;
}

.table-group-btn {
    display: flex;
    flex: 0 1 auto;
    min-width: 5.5rem;
    max-width: 100%;
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: var(--border-radius);
    background: var(--category-bg);
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    /* text-align: center; */
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

.table-group-btn:hover {
    background: color-mix(in srgb, var(--category-bg) 85%, #000);
    transform: translateY(-2px);
}

.tables-view .table-group-btn.table-group-btn--drop-target {
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.95);
    background: #5c4810;
    outline: none;
}

.table-group-btn.active {
    background: var(--category-active-bg);
}

.table-group-btn-name {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 0.4rem;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    text-align: left;
}

.tables-view .table-group-btn-name {
    display: block;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.table-group-btn-counts {
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.15rem 0.35rem;
    border-radius: 6px;
    background: rgba(0,0,0,0.2);
    flex-shrink: 0;
    min-width: 2.5rem;
}

.tables-view .table-group-btn-counts {
    font-size: 0.72rem;
}
.table-count-empty {
    color: rgba(255,255,255,0.9);
}
.table-count-sep {
    opacity: 0.6;
    font-weight: 500;
}
.table-count-occupied {
    color: #fff;
    background: rgba(76, 175, 80, 0.9);
    padding: 0.05rem 0.25rem;
    border-radius: 4px;
    min-width: 1.2em;
    text-align: center;
}
.table-group-btn.active .table-count-occupied {
    background: rgba(129, 199, 132, 0.95);
    color: #1b5e20;
}
.table-group-btn:hover .table-count-occupied {
    background: rgba(76, 175, 80, 1);
}

/* Taşıma modunda hedef masa vurgusu */
.table-card.table-card-drop-target {
    box-shadow: 0 0 0 4px rgba(76, 175, 80, 0.9);
    background-color: rgba(76, 175, 80, 0.2) !important;
    border-color: #4caf50 !important;
    transform: scale(1.02);
}

/* Taşıma ghost: imleçte yarı saydam masa kartı */
.table-transfer-ghost {
    position: fixed;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 26000;
    min-width: 90px;
    padding: 0.6rem 0.75rem;
    border-radius: var(--border-radius);
    background: rgba(255, 152, 0, 0.92);
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}
.table-transfer-ghost-number {
    font-weight: 700;
    font-size: 1.25rem;
    color: #fff;
}
.table-transfer-ghost-label {
    font-size: 0.7rem;
    color: rgba(255,255,255,0.9);
}

/* Masa Aksiyon Paneli */
.tables-view {
    position: relative; /* Alt panel için relative positioning */
    overflow: hidden; /* Transition için overflow hidden */
}

.tables-view.tables-dragging-transfer {
    touch-action: none;
}

.table-actions-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255,255,255,0.1);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    z-index: 50;
    backdrop-filter: blur(4px);
}

.table-actions-buttons {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.action-btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.25rem 2rem;
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-primary);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition:
        transform 0.15s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
    min-width: 140px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14);
}

.action-btn i {
    font-size: 1.75rem;
}

@media (hover: hover) and (pointer: fine) {
    .action-btn:hover:not(.disabled) {
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
        filter: brightness(1.06) saturate(1.04);
    }
}

.action-btn:active:not(.disabled) {
    transform: scale(0.98);
    filter: brightness(0.92);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.action-btn.btn-sales {
    border-color: rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-second) 100%);
    color: var(--white);
}

.action-btn.btn-arrive {
    border-color: rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, #7c6bc4 0%, #5b4b8a 100%);
    color: var(--white);
}

@media (hover: hover) and (pointer: fine) {
    .action-btn.btn-arrive:hover:not(.disabled) {
        background: linear-gradient(135deg, #5b4b8a 0%, #7c6bc4 100%);
        box-shadow: 0 6px 20px rgba(91, 75, 138, 0.38);
        filter: brightness(1.08) saturate(1.05);
    }
}

@media (hover: hover) and (pointer: fine) {
    .action-btn.btn-sales:hover:not(.disabled) {
        background: linear-gradient(135deg, var(--primary-second) 0%, var(--primary) 100%);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.38);
        filter: brightness(1.08) saturate(1.05);
    }
}

.theme-custom .action-btn.btn-sales:hover:not(.disabled) {
    box-shadow: 0 6px 20px color-mix(in srgb, var(--primary) 48%, transparent);
}

.action-btn.btn-transfer-product {
    background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%);
    border-color: rgba(255, 255, 255, 0.28);
    color: var(--white);
}

@media (hover: hover) and (pointer: fine) {
    .action-btn.btn-transfer-product:hover:not(.disabled) {
        filter: brightness(1.1) saturate(1.06);
        box-shadow: 0 6px 18px rgba(46, 125, 50, 0.4);
    }
}

.action-btn.btn-transfer-table {
    background: linear-gradient(135deg, #5c6bc0 0%, #283593 100%);
    border-color: rgba(255, 255, 255, 0.28);
    color: var(--white);
}

@media (hover: hover) and (pointer: fine) {
    .action-btn.btn-transfer-table:hover:not(.disabled) {
        filter: brightness(1.1) saturate(1.06);
        box-shadow: 0 6px 18px rgba(40, 53, 147, 0.4);
    }
}

.action-btn.btn-reservation {
    background: linear-gradient(135deg, #ffa726 0%, #e65100 100%);
    border-color: rgba(255, 255, 255, 0.28);
    color: var(--white);
}

@media (hover: hover) and (pointer: fine) {
    .action-btn.btn-reservation:hover:not(.disabled) {
        filter: brightness(1.08) saturate(1.06);
        box-shadow: 0 6px 18px rgba(230, 81, 0, 0.38);
    }
}

.action-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.action-btn.disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Müşteri İşlemler Kayar Paneli */
.customer-actions-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--white);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    border-top: 1px solid var(--border-color);
}

.customer-actions-buttons {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.action-btn.btn-calls {
    background: var(--secondary);
    border-color: var(--secondary);
    color: var(--white);
}

.action-btn.btn-calls:hover {
    background: var(--white);
    color: var(--secondary);
}

.action-btn.btn-orders {
    background: #2196F3;
    border-color: #2196F3;
    color: var(--white);
}

.action-btn.btn-orders:hover {
    background: var(--white);
    color: #2196F3;
}

.action-btn.btn-edit {
    background: #FF9800;
    border-color: #FF9800;
    color: var(--white);
}

.action-btn.btn-edit:hover {
    background: var(--white);
    color: #FF9800;
}

.modal-container--voip-records {
    width: min(560px, 94vw);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.modal-container--voip-records .modal-body {
    overflow-y: auto;
    flex: 1;
}

.voip-records-phone {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-muted);
    margin-top: 0.25rem;
}

.voip-audio-player {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: var(--bg-secondary, #f5f5f5);
    border-radius: 8px;
}

.voip-audio-player audio {
    width: 100%;
}

.voip-audio-filename {
    font-size: 0.8rem;
    color: var(--text-muted);
    word-break: break-all;
}

.voip-records-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.voip-record-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--white);
}

.voip-record-row.is-playing {
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 1px var(--primary, #1976d2);
}

.voip-record-main {
    min-width: 0;
    flex: 1;
}

.voip-record-date {
    font-weight: 600;
    font-size: 0.95rem;
}

.voip-record-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 0.2rem;
}

.modal-container--customer-orders {
    width: min(640px, 94vw);
}

.customer-orders-history {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.customer-orders-section-title {
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary, #222);
}

.customer-orders-adisyon-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.customer-order-adisyon {
    border: 1px solid var(--border-color, #ddd);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    font-family: 'Courier New', Consolas, monospace;
}

.customer-order-adisyon-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    background: #f7f7f7;
    border-bottom: 1px dashed #ccc;
}

.customer-order-adisyon-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    min-width: 0;
    font-size: 0.85rem;
}

.customer-order-adisyon-date { font-weight: 700; }
.customer-order-adisyon-fat { color: var(--text-muted, #666); }
.customer-order-adisyon-massa { color: var(--text-secondary, #444); }

.customer-order-repeat-btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.customer-order-adisyon-lines {
    list-style: none;
    margin: 0;
    padding: 0.35rem 0.75rem;
}

.customer-order-adisyon-line {
    display: grid;
    grid-template-columns: 2.5rem 1fr auto;
    gap: 0.35rem 0.5rem;
    padding: 0.35rem 0;
    border-bottom: 1px dotted #e5e5e5;
    font-size: 0.88rem;
    align-items: start;
}

.customer-order-adisyon-line:last-child { border-bottom: none; }
.customer-order-adisyon-line.is-missing { opacity: 0.55; }
.customer-order-line-qty { font-weight: 700; color: #333; }
.customer-order-line-name { min-width: 0; word-break: break-word; }
.customer-order-line-name small { display: block; font-size: 0.78rem; color: #777; font-weight: 400; }
.customer-order-line-missing { color: #c62828 !important; }
.customer-order-line-price {
    text-align: right;
    white-space: nowrap;
    font-weight: 600;
}
.customer-order-line-old {
    display: block;
    font-size: 0.72rem;
    font-weight: 400;
    color: #999;
    text-decoration: line-through;
}

.customer-order-adisyon-empty {
    padding: 0.75rem;
    font-size: 0.85rem;
    color: #777;
}

.customer-order-adisyon-loading {
    padding: 0.75rem;
    font-size: 0.85rem;
    color: #666;
}

.customer-order-adisyon-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border-top: 2px solid #222;
    font-size: 0.9rem;
}

.customer-order-adisyon-foot-hint {
    width: 100%;
    text-align: right;
    color: #888;
    font-size: 0.72rem;
}

.customer-order-row .voip-record-date {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.customer-order-amount {
    font-weight: 700;
    white-space: nowrap;
    color: var(--primary, #1976d2);
}

.customer-order-summary {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #555);
    line-height: 1.35;
    word-break: break-word;
}

.voip-record-actions {
    display: flex;
    gap: 0.35rem;
    flex-shrink: 0;
}

.voip-record-actions .button-icon:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Rezervasyonlu masa stili */
.table-card.reserved {
    background: #fff3e0;
    border-color: #ff9800;
    position: relative;
}

.reservation-bell {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    color: #ff9800;
    font-size: 1.2rem;
    animation: bellRotate 2s ease-in-out infinite;
    z-index: 10;
}

@keyframes bellRotate {
    0%, 100% {
        transform: rotate(-15deg);
    }
    50% {
        transform: rotate(15deg);
    }
}

/* Rezervasyon Modal */
.reservation-modal {
    max-width: 500px;
}
/* Dropdown kesilmesin: ortak .modal-content overflow:hidden üstünü bu modal için kapat */
.modal-content.reservation-modal {
    overflow: visible;
}
.modal-content.reservation-modal > .modal-body {
    overflow: visible;
}

.reservation-modal .reservation-crm-pick .form-hint.muted {
    font-size: 0.8rem;
    color: var(--text-muted, #6c757d);
    margin: 0 0 0.5rem 0;
}

/* Kayıtlı müşteri: arama satırının hemen altında açılan dropdown */
.reservation-modal .reservation-crm-dropdown-wrap {
    position: relative;
    z-index: 2;
    margin-bottom: 0.5rem;
}
.reservation-modal .reservation-crm-dropdown-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 100;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-color, rgba(0, 0, 0, 0.12));
    border-radius: var(--border-radius, 6px);
    box-shadow: var(--hover-shadow, 0 4px 12px rgba(0, 0, 0, 0.15));
    max-height: 220px;
    overflow-y: auto;
}
.reservation-modal .reservation-crm-dropdown-loading {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: var(--text-muted, #6c757d);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.reservation-modal .reservation-crm-dropdown-list {
    margin: 0;
    padding: 0.25rem 0;
    max-height: 220px;
}

/* Ad + telefon yan yana */
.reservation-modal .reservation-fields-inline {
    margin-bottom: 1.5rem;
}
.reservation-modal .reservation-inline-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
    align-items: start;
}
.reservation-modal .reservation-field-half {
    margin-bottom: 0;
}
.reservation-modal .reservation-field-half label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9rem;
}
.reservation-modal .reservation-field-half input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 1rem;
    font-family: var(--font-family-base);
}
.reservation-modal .reservation-field-half input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}
@media (max-width: 480px) {
    .reservation-modal .reservation-inline-fields {
        grid-template-columns: 1fr;
    }
}

/* Seçili müşteri rozeti + stilli temizle */
.reservation-modal .reservation-picked-crm {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: var(--lighter-gray, #f3f3f3);
    border-radius: var(--border-radius, 6px);
    border: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
}
.reservation-modal .reservation-picked-crm-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}
.reservation-modal .reservation-picked-crm-badge .fa-user-check {
    color: var(--success, #4CAF50);
}
.reservation-modal .reservation-clear-crm-btn {
    margin-left: auto;
    border: 1px solid var(--border-color, rgba(0, 0, 0, 0.15));
    background: var(--white, #fff);
    color: var(--text-secondary, #666);
    border-radius: var(--border-radius, 6px);
    padding: 0.35rem 0.65rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.reservation-modal .reservation-clear-crm-btn:hover {
    background: rgba(244, 67, 54, 0.08);
    border-color: var(--danger, #F44336);
    color: var(--danger, #d32f2f);
}

.reservation-info-box {
    background: #f5f5f5;
    border-radius: var(--border-radius);
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid #ff9800;
}

.reservation-info-box .info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.reservation-info-box .info-row:last-child {
    margin-bottom: 0;
}

.reservation-info-box .info-label {
    font-weight: 600;
    color: var(--text-primary);
}

.reservation-info-box .info-value {
    font-weight: 500;
    color: var(--primary);
}

.reservation-info-box .info-value.time-remaining {
    color: #ff9800;
    font-weight: 600;
}

.reservation-info-box .info-value.status-arrived {
    color: var(--success);
}

.btn-arrived {
    padding: 0.75rem 1.5rem;
    border-radius: var(--border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-arrived:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3);
}

.reservation-modal .form-group {
    margin-bottom: 1.5rem;
}

.reservation-modal .form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--text-primary);
}

.reservation-modal .form-group input,
.reservation-modal .form-group textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 1rem;
    font-family: var(--font-family-base);
}

.reservation-modal .form-group input:focus,
.reservation-modal .form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}

.reservation-modal .form-group textarea {
    resize: vertical;
    min-height: 80px;
}

@keyframes slideUpPanel {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

/* Vue Transition için slide-panel animasyonları */
.slide-panel-enter-active,
.slide-panel-leave-active {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform, opacity;
}

.slide-panel-enter-from {
    transform: translateY(100%);
    opacity: 0;
}

.slide-panel-enter-to {
    transform: translateY(0);
    opacity: 1;
}

.slide-panel-leave-from {
    transform: translateY(0);
    opacity: 1;
}

.slide-panel-leave-active,
.slide-panel-leave-to {
    pointer-events: none;
}
.slide-panel-leave-to {
    transform: translateY(100%);
    opacity: 0;
}

.tables-container {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    position: relative;
    transition: padding-bottom 0.3s ease;
    display: flex;
    flex-direction: column;
}

.tables-container > .empty-state.empty-state-centered {
    flex: 1;
    min-height: min(55vh, 420px);
    width: 100%;
    box-sizing: border-box;
}

.tables-container.has-actions-panel {
    padding-bottom: 100px; /* Alt panel yüksekliği kadar padding */
}

.tables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 0.5rem;
    position: relative;
    z-index: 1;
    overflow: visible;
}

.tables-container.tables-container--event-floor {
    overflow: hidden;
    padding-bottom: 0;
    background: transparent;
}
.tables-container.tables-container--event-floor.has-actions-panel {
    padding-bottom: 0;
}
.tables-grid.tables-event-floor {
    display: block;
    position: absolute;
    inset: 0;
    flex: none;
    min-height: 0;
    width: auto;
    height: auto;
    overflow: hidden;
    background: transparent;
    z-index: 1;
}
.tables-event-floor-stage {
    z-index: 1;
    overflow: visible;
}
.tables-event-floor-stage .event-stage-mark {
    z-index: 2;
    pointer-events: none;
}
.tables-event-floor .table-card {
    margin: 0;
    overflow: hidden;
    padding: 4px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,.28);
    background: var(--event-floor-color, #fff);
    color: var(--event-floor-ink, #1a1a1a);
    gap: 2px;
    width: calc(var(--event-table-w, 86) * 1px) !important;
    height: calc(var(--event-table-h, 86) * 1px) !important;
    min-height: calc(var(--event-table-h, 86) * 1px) !important;
    max-height: none !important;
    justify-content: center;
    box-sizing: border-box;
    transform: translate(-50%, -50%) !important;
}
.tables-event-floor .table-card:hover,
.tables-event-floor .table-card:focus,
.tables-event-floor .table-card:active,
.tables-event-floor .table-card.selected {
    transform: translate(-50%, -50%) !important;
}
.tables-event-floor .table-card:not(.occupied):not(.reserved) {
    background: var(--event-floor-color, var(--white));
    color: var(--event-floor-ink, #1a1a1a);
}
.tables-grid.tables-event-floor .table-card.reserved:not(.occupied) {
    background: var(--event-floor-color, #fff) !important;
    border: 0 !important;
    color: var(--event-floor-ink, #1a1a1a) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.28) !important;
}
.tables-grid.tables-event-floor .table-card.occupied:not(.hesap-yazdirildi) {
    background: #e7f3ea !important;
    border: 0 !important;
    color: #1b5e20 !important;
    box-shadow: 0 6px 16px rgba(27, 94, 32, .16) !important;
}
.tables-grid.tables-event-floor .table-card.occupied.hesap-yazdirildi {
    background: #e4f1fb !important;
    border: 0 !important;
    color: #0d47a1 !important;
    box-shadow: 0 6px 16px rgba(13, 71, 161, .16) !important;
}
.tables-event-floor .table-card .table-number {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
    color: inherit;
}
.tables-event-floor .table-card.table-card--event-tiny .table-number {
    font-size: 0.78rem;
}
.tables-event-floor .table-card .table-time {
    display: none !important;
}
.tables-event-floor .table-card .table-status--empty {
    display: none;
}
.tables-event-floor .event-floor-guest,
.tables-event-floor .event-floor-pax,
.tables-event-floor .event-floor-amount {
    display: block;
    max-width: 96%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.15;
    color: inherit;
}
.tables-event-floor .event-floor-guest {
    font-size: 0.68rem;
    font-weight: 700;
    opacity: 0.95;
}
.tables-event-floor .event-floor-pax,
.tables-event-floor .event-floor-amount {
    font-size: 0.62rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.tables-event-floor .table-card.table-card--event-tiny .event-floor-guest,
.tables-event-floor .table-card.table-card--event-tiny .event-floor-pax,
.tables-event-floor .table-card.table-card--event-tiny .event-floor-amount {
    font-size: 0.52rem;
}
.tables-event-floor .table-card.selected {
    box-shadow: 0 0 0 3px rgba(255,255,255,.7), 0 8px 18px rgba(0,0,0,.35) !important;
    background: var(--event-floor-color, #fff) !important;
    border: 0 !important;
}
.tables-grid.tables-event-floor .table-card.occupied .occupied-text,
.tables-grid.tables-event-floor .table-card.occupied .table-amount,
.tables-grid.tables-event-floor .table-card.occupied .table-number,
.tables-grid.tables-event-floor .table-card.occupied.hesap-yazdirildi .occupied-text,
.tables-grid.tables-event-floor .table-card.occupied.hesap-yazdirildi .table-amount {
    color: inherit !important;
}

.tables-grid.tables-grid--editing {
    background-color: rgba(25, 118, 210, 0.03);
    border: 1px dashed rgba(25, 118, 210, 0.25);
    border-radius: var(--border-radius);
    padding: 4px;
}

.tables-view--layout-editing .table-groups-bar {
    opacity: 0.92;
}
.tables-layout-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    margin-bottom: 0.5rem;
    padding: 0.45rem 0.55rem;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}
.tables-layout-toolbar-left,
.tables-layout-toolbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
}
.tables-layout-toolbar-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.tables-layout-mode-toggle,
.tables-layout-size-toggle {
    display: inline-flex;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
}
.tables-layout-mode-btn,
.tables-layout-size-btn {
    border: none;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.35rem 0.7rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease;
}
.tables-layout-mode-btn + .tables-layout-mode-btn,
.tables-layout-size-btn + .tables-layout-size-btn {
    border-left: 1px solid var(--border-color);
}
.tables-layout-mode-btn.active,
.tables-layout-size-btn.active {
    background: var(--primary);
    color: #fff;
}
.tables-layout-edit-hint {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.table-card.layout-dragging {
    opacity: 0.88;
    z-index: 12;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    cursor: grabbing;
}
.table-card.table-card--jiggle {
    animation: pos-product-card-jiggle 0.28s ease-in-out infinite;
    transform-origin: 50% 50%;
}
.table-card.table-card--jiggle:hover {
    box-shadow: none;
    transform: none;
}
.theme-dark .tables-layout-toolbar {
    background: var(--card-bg, #1e1e1e);
}
.theme-dark .tables-grid.tables-grid--editing {
    background-color: rgba(100, 181, 246, 0.04);
}

.table-card {
    position: relative;
    background: var(--white);
    border-radius: var(--border-radius);
    padding: 0.5rem; /* Daha küçük padding */
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: var(--table-card-min-h, 90px);
    min-height: var(--table-card-min-h, 90px);
    text-align: center;
    user-select: none;
    box-sizing: border-box;
}

.table-card.draggable {
    cursor: move;
}

.table-card.draggable:active {
    opacity: 0.7;
    transform: scale(0.95);
}

.table-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    border-color: var(--succes);
}

/* .occupied renk kuralları aşağıdaki "Dolu masalar - YEŞİL" bloğunda (duplike tanım kaldırıldı) */
.table-card.selected {
    /* border-color: #2e9d57 !important; */
    border: 4px solid var(--success);
    background-color: rgba(46, 157, 87, 0.12) !important;
    z-index: 80;
    overflow: visible;
    /* box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96), 0 0 0 5px rgba(46, 157, 87, 0.78), 0 12px 28px rgba(46, 157, 87, 0.24) !important; */
    /* transform: translateY(-2px) scale(1); */
}

.table-card.selected.cok-oturmus,
.table-card.cok-oturmus.selected {
    border: 4px solid var(--success) !important;
    box-shadow: 0 0 0 2px rgba(46, 157, 87, 0.22), 0 8px 22px rgba(46, 157, 87, 0.24) !important;
}

.table-card.linked-selected {
    border: 4px solid var(--success) !important;
    background-color: rgba(46, 157, 87, 0.08) !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), 0 0 0 6px rgba(106, 27, 154, 0.35), 0 8px 20px rgba(46, 157, 87, 0.18) !important;
}
.table-card.table-card--linked {
    position: relative;
}
.table-link-chain-badge {
    position: absolute;
    left: 4px;
    top: 4px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    color: var(--table-link-color, #6a1b9a);
    background: rgba(255, 255, 255, 0.94);
    border-radius: 4px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.12);
    pointer-events: none;
    z-index: 3;
}
.table-link-chain-badge .fa-link {
    transform: rotate(-35deg);
}
/* .tables-container ana tanımı yukarıda position: relative içeriyor; duplike blok kaldırıldı */
.tables-link-rope-canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 20;
}
.action-btn.btn-unlink-table {
    background: linear-gradient(135deg, #5e35b1, #7e57c2);
    color: #fff;
}

.table-number {
    font-size: 0.95rem; /* Daha küçük font */
    font-weight: 700;
    color: var(--text-primary);
}

/* Başka istasyonda ödeme kilidi (payment_locks) */
.table-payment-lock-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 152, 0, 0.95);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    z-index: 2;
    pointer-events: none;
}
.table-payment-lock-badge--gelal {
    top: 3px;
    right: 3px;
}

/* Geçici masa: boşken sil */
.table-temp-delete-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 30;
    pointer-events: auto;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: #e53935;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.table-temp-delete-btn:hover {
    background: #c62828;
}
.table-temp-badge {
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: 2;
    font-size: 0.58rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 2px 5px;
    border-radius: 4px;
    background: rgba(33, 150, 243, 0.15);
    color: #1565c0;
    pointer-events: none;
}
.table-card--add-placeholder {
    border: 2px dashed var(--border-color, #b0bec5) !important;
    background: transparent !important;
    color: var(--text-secondary, #607d8b);
    cursor: pointer;
    min-height: var(--table-card-min-h, 90px);
    height: var(--table-card-min-h, 90px);
    min-width: 0;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}
.table-card--add-placeholder:hover {
    border-color: var(--primary, #1976d2) !important;
    color: var(--primary, #1976d2);
    background: rgba(25, 118, 210, 0.04) !important;
    box-shadow: none;
    transform: none;
}
.table-add-plus {
    font-size: 2.25rem;
    font-weight: 300;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pos-masa-temp-switch {
    margin-top: 14px;
    justify-content: space-between;
    width: 100%;
    text-align: left;
}
.playarea-child-qty-stepper {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    margin-top: 6px;
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
}
.playarea-child-qty-btn {
    flex: 0 0 48px;
    min-height: 48px;
    border: 1px solid var(--border-color, #cfd8dc);
    background: var(--surface-2, #f5f7fa);
    color: var(--primary, #1976d2);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}
.playarea-child-qty-btn:first-child {
    border-radius: 8px 0 0 8px;
}
.playarea-child-qty-btn:last-child {
    border-radius: 0 8px 8px 0;
}
.playarea-child-qty-btn:hover {
    background: rgba(25, 118, 210, 0.08);
}
.playarea-child-qty-input {
    flex: 1 1 auto;
    min-width: 72px;
    max-width: 120px;
    margin: 0 !important;
    height: 48px !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    text-align: center !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    padding: 0 8px !important;
    -moz-appearance: textfield;
}
.playarea-child-qty-input::-webkit-outer-spin-button,
.playarea-child-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.pax-prompt-modal .playarea-child-qty-btn {
    border-color: #d0d5dc;
}
.pax-prompt-modal .playarea-child-qty-input {
    border-top: 1px solid #d0d5dc !important;
    border-bottom: 1px solid #d0d5dc !important;
    background: #fff;
}
.playarea-form-row--child-qty {
    text-align: center;
}
.play-sale-multi-modal .swal2-title {
    font-size: 1.25rem;
    font-weight: 700;
    padding-bottom: 0.35rem;
}
.play-sale-multi {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
    margin-top: 0.25rem;
}
.play-sale-multi-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.play-sale-multi-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary, #263238);
}
.play-sale-multi .playarea-child-qty-stepper {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.play-sale-multi-unit-input {
    width: 100% !important;
    margin: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: right !important;
    box-sizing: border-box;
}
.play-sale-multi-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(25, 118, 210, 0.1), rgba(25, 118, 210, 0.04));
    border: 1px solid rgba(25, 118, 210, 0.22);
}
.play-sale-multi-total-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-secondary, #546e7a);
}
.play-sale-multi-total-value {
    font-size: 1.55rem;
    font-weight: 800;
    color: var(--primary, #1976d2);
    letter-spacing: -0.02em;
    white-space: nowrap;
}
.play-sale-multi-switch {
    margin-top: 0.25rem;
    width: 100%;
}
.pos-masa-temp-check {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 0.9rem;
    cursor: pointer;
    user-select: none;
}

.table-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem; /* Daha küçük gap */
}

.table-amount {
    font-size: 0.9rem; /* Daha küçük font */
    font-weight: 600;
    color: var(--primary);
}

.table-time {
    font-size: 0.65rem; /* Daha küçük font */
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.table-time i {
    font-size: 0.6rem; /* Daha küçük ikon */
}

/* Dolu masa: solda açılış saati — sağda geçen süre */
.table-time.table-time--session {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    line-height: 1.15;
    font-size: 0.62rem;
}
.table-time-start {
    font-weight: 700;
    min-width: 0;
    text-align: left;
    flex: 1 1 auto;
}
.table-time-elapsed {
    font-weight: 700;
    white-space: nowrap;
    text-align: right;
    flex: 0 0 auto;
    margin-left: 0.25rem;
}

.table-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--success);
    font-size: 0.85rem;
    font-weight: 500;
}

.table-groups {
    display: flex;
    gap: 1rem;
    overflow-x: hidden;
    width: 100%;
}

.group-card {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    background-color: var(--secondary);
    color: var(--white);
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.group-card.active {
    background-color: var(--primary);
}

/* İkinci .table-card tanımı ana tanımla (yukarıda) birleştirildi; yalnızca fark yaratan override'lar kaldı.
   Not: height 90px sabiti ve --light-gray border, cascade'de zaten kazanan değerlerdi (davranış aynı). */
.table-card {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    height: 90px; /* Sabit yükseklik - boş ve dolu masalar aynı boyutta */
    min-height: 90px; /* Minimum yükseklik */
    justify-content: space-between;
    border: 1px solid rgba(0,0,0,0.1);
}

/* Oyun alanı kartı table-card sınıfını paylaşır; 90px masa kuralı burada geçersiz */
.playarea-grid .table-card.playarea-card,
.table-card.playarea-card {
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0;
    overflow: hidden;
    text-align: left;
    justify-content: flex-start;
    align-items: stretch;
    display: grid;
    cursor: default;
}

/* .table-card:hover ana tanımı yukarıda (box-shadow + border-color); duplike blok kaldırıldı */
.playarea-grid .table-card.playarea-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
}

/* Dolu masada 2 sn basılı tutma: soldan sağa kart içinde şeffaf dolgu (--hold-progress: JS) */
.table-card.table-card-hold-transfer {
    overflow: hidden;
    box-shadow: 0 0 0 3px rgba(46, 157, 87, 0.55);
    border-color: var(--success, #2e9d57) !important;
}
.table-card.table-card-hold-transfer::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--hold-progress, 0%);
    max-width: 100%;
    background: linear-gradient(
        90deg,
        rgba(46, 157, 87, 0.38),
        rgba(76, 175, 80, 0.18)
    );
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
}
.table-card.table-card-hold-transfer > * {
    position: relative;
    z-index: 1;
}
/* Aktarma modunda (2 sn sonra sürüklenebilir) */
.table-card.table-card-dragging-transfer {
    box-shadow: 0 6px 20px rgba(46, 157, 87, 0.42);
    border-color: var(--success, #2e9d57) !important;
    background-color: rgba(46, 157, 87, 0.14) !important;
    cursor: grab;
}

/* Dolu masalar (çok oturmamış) - YEŞİL */
.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) {
    border-color: var(--success) !important;
    background-color: rgba(76, 175, 80, 0.05) !important;
}

.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi):hover {
    border-color: var(--success) !important;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3) !important;
}

.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .occupied-text {
    color: var(--success) !important;
}

.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .table-time,
.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .table-time i,
.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .table-time-start,
.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .table-time-elapsed,
.table-card.occupied:not(.cok-oturmus):not(.hesap-yazdirildi) .table-amount {
    color: var(--success) !important;
}

/* Hesap fişi basılmış masalar - MAVİ */
.table-card.occupied.hesap-yazdirildi {
    border-color: #2196f3 !important;
    background-color: rgba(33, 150, 243, 0.1) !important;
}

.table-card.occupied.hesap-yazdirildi:hover {
    border-color: #1976d2 !important;
    box-shadow: 0 4px 12px rgba(33, 150, 243, 0.35) !important;
}

.table-card.occupied.hesap-yazdirildi .occupied-text,
.table-card.occupied.hesap-yazdirildi .table-time,
.table-card.occupied.hesap-yazdirildi .table-time i,
.table-card.occupied.hesap-yazdirildi .table-time-start,
.table-card.occupied.hesap-yazdirildi .table-time-elapsed,
.table-card.occupied.hesap-yazdirildi .table-amount {
    color: #1976d2 !important;
}

/* Çok oturmuş masalar - KIRMIZI */
.table-card.cok-oturmus {
    border-color: var(--danger) !important;
    background-color: rgba(244, 67, 54, 0.1) !important;
}

.table-card.cok-oturmus:hover {
    border-color: var(--danger) !important;
    box-shadow: 0 4px 12px rgba(244, 67, 54, 0.3) !important;
}

.table-card.cok-oturmus .occupied-text {
    color: var(--danger) !important;
}

.table-card.cok-oturmus .table-time,
.table-card.cok-oturmus .table-time i,
.table-card.cok-oturmus .table-time-start,
.table-card.cok-oturmus .table-time-elapsed,
.table-card.cok-oturmus .table-amount {
    color: var(--danger) !important;
}

.table-card.selected .table-number {
    color: var(--success) !important;
}

.table-card.selected .occupied-text,
.table-card.selected .table-time,
.table-card.selected .table-time i,
.table-card.selected .table-time-start,
.table-card.selected .table-time-elapsed,
.table-card.selected .table-amount,
.table-card.selected .table-status {
    color: var(--success) !important;
}

.table-number {
    font-size: 0.95rem;
    font-weight: bold;
    color: var(--text-primary);
}

.table-status {
    font-size: 0.9rem;
    color: var(--secondary);
    margin-bottom: 0.5rem;
}

/* Boş masa: sade metin, ikon yok; daha sakin gri */
.table-status--empty {
    color: #94a3b8 !important;
    font-weight: 500;
    margin-bottom: 0;
}
.table-card.selected .table-status--empty {
    color: #64748b !important;
}
.theme-dark .table-status--empty {
    color: rgba(148, 163, 184, 0.9) !important;
}

.table-actions {
    margin-top: auto;
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.table-actions button {
    flex: 1;
    min-width: 0;
    padding: 0.4rem 0.3rem;
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    white-space: nowrap;
}

.btn-sale {
    background-color: var(--primary);
    color: var(--white);
}

.btn-sale:hover {
    background-color: #e0143a;
}

/* ============================================
   Calls Page (Laravel CallsPage.vue'den)
   ============================================ */
.calls-page {
    display: flex;
    height: 100%;
    background-color: var(--light-gray);
    gap: 1rem;
    padding: 1rem; /* Padding eklendi */
}

.calls-panel {
    flex: 0 0 30%; /* %30 genişlik */
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
    border: 1px solid var(--border-color); /* Border eklendi */
}

.calls-panel .panel-header {
    padding: 0.75rem; /* 1rem'den küçültüldü */
    background-color: var(--white);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
}

.panel-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.calls-panel .panel-header h2 {
    margin: 0; /* margin-bottom kaldırıldı */
    color: var(--text-primary);
    font-size: 1.05rem; /* 1.25rem'den küçültüldü */
    white-space: nowrap;
}

.date-picker-container {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

/* Çağrılar sayfası: tarih filtresi tam genişlik */
.calls-panel .date-picker-container {
    width: 100%;
}

.calls-panel .date-picker-container .date-input {
    flex: 1;
    min-width: 0;
}

.success-outline:focus {
    outline: none;
    box-shadow: 0 0 0 2px var(--success);
    border-color: var(--success);
}

.date-input {
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    transition: border-color 0.2s ease;
    width: auto;
    min-width: 140px;
}

.date-input:focus {
    outline: none;
    border-color: var(--success);
}

.btn-today {
    padding: 0.4rem 0.6rem;
    background-color: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 0.75rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
}

.btn-today:hover {
    background-color: rgba(255, 23, 68, 0.9);
    transform: translateY(-1px);
}

.calls-panel .search-box {
    margin-top: 0.5rem;
}

.calls-panel .search-box input {
    width: 100%;
    padding: 0.6rem; /* 0.75rem'den küçültüldü */
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
}

.calls-panel .search-box input:focus {
    outline: none;
    border-color: var(--success);
}

.calls-customer-search {
    position: relative;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-color);
}

.calls-customer-search-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 0.35rem;
}

.calls-customer-search-input-wrap {
    position: relative;
}

.calls-customer-search-input {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
}

.calls-customer-search-status {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
}

.calls-customer-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 20;
    max-height: 220px;
    overflow-y: auto;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--hover-shadow);
}

.calls-customer-search-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.calls-customer-search-item:hover,
.calls-customer-search-item:focus {
    background: rgba(25, 118, 210, 0.08);
    outline: none;
}

.calls-customer-search-item-name {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-color);
}

.calls-customer-search-item-phone {
    font-size: 0.78rem;
    color: var(--text-muted);
}

.theme-dark .calls-customer-search-results {
    background: var(--card-bg);
}

.calls-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.calls-list-scroll {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 0.75rem; /* 1rem'den küçültüldü */
}

/* Çağrılar sol liste: çağrı yokken empty state ortada */
.calls-list-scroll.calls-list-scroll--empty {
    justify-content: center;
    align-items: center;
}

.call-card {
    background-color: var(--white);
    padding: 0.75rem; /* 1rem'den küçültüldü */
    border-radius: var(--border-radius);
    margin-bottom: 0.4rem; /* 0.5rem'den küçültüldü */
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    border: 1px solid var(--border-color);
}

.call-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--card-shadow);
}

.call-card.active {
    border-left: 4px solid var(--success);
    background-color: rgba(76, 175, 80, 0.1);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease; /* Smooth transition for selection */
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.call-card--customer .call-info > i.fa-user {
    color: #5c6bc0;
}

.call-card--customer.active .call-info > i.fa-user {
    color: var(--success);
}

/* Yeni gelen çağrı: 2 kez yanıp söner, bir kez oynar (tema bağımsız: sadece gölge/border) */
.call-card.call-card-new {
    animation: call-card-blink 1.2s ease-in-out 1;
}

@keyframes call-card-blink {
    0%, 50%, 100% { box-shadow: 0 0 0 transparent; border-color: var(--border-color); }
    25%, 75% { box-shadow: 0 0 14px rgba(76, 175, 80, 0.5); border-color: rgba(76, 175, 80, 0.7); }
}

.call-info {
    display: flex;
    align-items: center;
    gap: 0.75rem; /* 1rem'den küçültüldü */
}

.call-info i {
    font-size: 1rem; /* 1.2rem'den küçültüldü */
    color: var(--secondary);
}

.call-info .details {
    flex: 1;
}

.call-info .caller {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.85rem; /* küçültüldü */
}

.call-info .time {
    font-size: 0.75rem; /* 0.85rem'den küçültüldü */
    color: var(--secondary);
    white-space: nowrap;
}

/* Çağrılar sayfası: sağ panel %70 */
.calls-page .customer-panel {
    flex: 1; /* %70 genişlik */
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color); /* Border eklendi */
    position: relative; /* Kayar panel için */
}

.calls-page .customer-panel .panel-header {
    padding: 0.75rem; /* 1rem'den küçültüldü */
    border-bottom: 1px solid var(--border-color);
    background-color: var(--white);
}

.calls-page .customer-panel .panel-header h2 {
    color: var(--text-primary);
    margin: 0;
    font-size: 1.05rem; /* 1.25rem'den küçültüldü */
}

.calls-page .customer-panel .panel-content {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 1.25rem 130px 1.25rem; /* Sağ-sol padding artırıldı */
    position: relative; /* Transition için */
}

.customer-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1rem; /* Daha da küçültüldü */
    padding: 0.5rem 0;
}

.customer-header-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
}

.customer-header-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.customer-header-text h3 {
    margin: 0;
    text-align: center;
}

.customer-call-loyalty {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 0.35rem;
}
.customer-header-text h3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.customer-header-text h3 .customer-loyalty-badge {
    vertical-align: middle;
}

.customer-header i {
    font-size: 1.75rem; /* Daha küçük */
    color: var(--primary);
}

.customer-header h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.1rem; /* Daha küçük */
    font-weight: 600;
}

.info-groups {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* Daha da küçültüldü */
    padding: 0 0.5rem; /* Sağ-sol padding eklendi */
}

.info-group {
    padding: 0 0.25rem; /* Her info-group için ek padding */
}

.info-group label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: var(--secondary);
    margin-bottom: 0.5rem;
}

.info-group label i {
    color: var(--primary);
}

.info-group .value {
    font-size: 0.9rem; /* 1.1rem'den küçültüldü */
    color: var(--text-primary);
    padding: 0.5rem;
    background-color: var(--light-gray);
    border-radius: var(--border-radius);
}

.caller-phone {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 0.25rem;
}

.loading-state {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    gap: 0.75rem; /* 1rem'den küçültüldü */
    min-height: 300px; /* Minimum yükseklik - flicker önlemek için */
}

.loading-state i {
    font-size: 1.5rem; /* 2rem'den küçültüldü */
}

.no-customer {
    height: 100%;
    min-height: 300px; /* Minimum yükseklik - flicker önlemek için */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Müşteri Bilgileri Fade Transition */
.customer-fade-enter-active,
.customer-fade-leave-active {
    transition: opacity 0.3s ease;
}

.customer-fade-enter-from,
.customer-fade-leave-to {
    opacity: 0;
}

.customer-fade-enter-to,
.customer-fade-leave-from {
    opacity: 1;
}

.no-customer-content {
    text-align: center;
    padding: 1.5rem; /* 2rem'den küçültüldü */
}

.no-customer-content i {
    font-size: 2.5rem; /* 3rem'den küçültüldü */
    color: var(--primary);
}

.no-customer-content h3 {
    color: var(--text-primary);
    margin-bottom: 0.75rem; /* 1rem'den küçültüldü */
    font-size: 1.1rem; /* küçültüldü */
}

.no-customer-content p {
    color: var(--secondary);
    margin-bottom: 1rem; /* 1.5rem'den küçültüldü */
    font-size: 0.85rem; /* küçültüldü */
}

.no-customer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 0.25rem;
}

.no-selection {
    height: 100%;
    min-height: 300px; /* Minimum yükseklik - flicker önlemek için */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    gap: 0.75rem; /* 1rem'den küçültüldü */
}

.no-selection i {
    font-size: 2.5rem; /* 3rem'den küçültüldü */
    opacity: 0.5;
}

.no-selection p {
    font-size: 0.95rem; /* 1.1rem'den küçültüldü */
}

.phone-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem; /* 0.5rem'den küçültüldü */
}

.phone-item {
    display: flex;
    align-items: center;
    gap: 0.4rem; /* 0.5rem'den küçültüldü */
    padding: 0.4rem; /* 0.5rem'den küçültüldü */
    background-color: #f8f9fa;
    border-radius: 4px;
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
}

/* Telefon ekleme butonu artık label içinde, bu stiller kullanılmıyor */

.phone-item.current-caller {
    background-color: rgba(76, 175, 80, 0.1);
    border: 1px solid var(--success);
}

.phone-item.primary-phone {
    background-color: #f3e5f5;
    border: 1px solid #ce93d8;
}

.phone-number {
    font-weight: 500;
}

.phone-badge {
    font-size: 0.7rem; /* 0.75rem'den küçültüldü */
    padding: 0.1rem 0.3rem; /* küçültüldü */
    border-radius: 1rem;
    background-color: #e0e0e0;
    color: #666;
}

.phone-type {
    font-size: 0.7rem; /* 0.75rem'den küçültüldü */
    color: #666;
    text-transform: capitalize;
}

.address-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.address-item {
    padding: 0.6rem; /* 0.75rem'den küçültüldü */
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background-color: #f8f9fa;
    min-height: 100px;
}

.address-item:only-child {
    grid-column: 1 / -1; /* Tek adres varsa tüm satırı kaplar */
}

.address-item.selected {
    background-color: rgba(76, 175, 80, 0.1);
    border: 1px solid var(--success);
}

.address-item:last-child {
    margin-bottom: 0;
}

.address-content {
    flex: 1;
    cursor: pointer;
}

.address-title {
    font-weight: 500;
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
    color: var(--text-primary);
    margin-bottom: 0.2rem; /* 0.25rem'den küçültüldü */
}

.address-text {
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
    color: #666;
    line-height: 1.4;
}

.address-badges {
    display: flex;
    gap: 0.3rem;
    margin-top: 0.2rem;
    flex-wrap: wrap;
}

.address-badge {
    display: inline-block;
    font-size: 0.7rem; /* 0.75rem'den küçültüldü */
    padding: 0.1rem 0.3rem; /* küçültüldü */
    border-radius: 1rem;
    background-color: #e3f2fd;
    color: #1976d2;
}

.address-badge.favori-badge {
    background-color: #fff3e0;
    color: #f57c00;
}

.address-actions {
    display: flex;
    gap: 0.2rem; /* 0.25rem'den küçültüldü */
    margin-top: 0.4rem; /* 0.5rem'den küçültüldü */
}

.button-icon {
    padding: 0.2rem 0.4rem; /* küçültüldü */
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    transition: color 0.2s ease;
    font-size: 0.85rem; /* küçültüldü */
}

.button-icon:hover {
    color: var(--text-primary);
}

.label-with-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.add-address-btn,
.add-phone-btn-inline {
    padding: 0.2rem 0.4rem; /* küçültüldü */
    font-size: 0.7rem; /* 0.8rem'den küçültüldü */
    margin-left: auto; /* En sağa hizala */
    background-color: transparent;
    border: 1px solid var(--border-color);
    color: var(--secondary);
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 24px;
    height: 24px;
}

.add-address-btn:hover,
.add-phone-btn-inline:hover {
    background-color: var(--light-gray);
    color: var(--primary);
}

.add-address-btn i,
.add-phone-btn-inline i {
    font-size: 0.7rem;
}

.recent-calls {
    display: flex;
    flex-direction: column;
    gap: 0.4rem; /* 0.5rem'den küçültüldü */
}

.recent-call {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem; /* 0.5rem'den küçültüldü */
    background-color: var(--light-gray);
    border-radius: var(--border-radius);
}

.recent-call .call-date {
    font-size: 0.8rem; /* 0.9rem'den küçültüldü */
    color: var(--text-primary);
}

/* Sipariş Geçmişi Stilleri */
.customer-orders {
    max-height: 300px;
    overflow-y: auto;
}

.orders-section {
    margin-bottom: 1rem;
}

.orders-section-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--border-color);
}

.orders-section-title i {
    color: var(--primary);
    font-size: 0.9rem;
}

.orders-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.orders-list .order-item {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 0.6rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.orders-list .order-item:hover {
    background-color: #f0f0f0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.orders-list .order-item-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.order-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.order-date {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.order-total {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary);
}

.order-item-actions {
    display: flex;
    justify-content: flex-end;
}

.btn-repeat-order {
    padding: 0.4rem 0.8rem;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-repeat-order:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

.btn-repeat-order i {
    font-size: 0.8rem;
}

.loading-state-small {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.loading-state-small i {
    font-size: 0.9rem;
}

.sales-action-group {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 2px solid var(--border-color);
}

.btn-go-to-sales-full {
    width: auto;
    min-width: 200px;
    max-width: 300px;
    padding: 0.75rem 1.5rem;
    background-color: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    margin: 0 auto;
}

.btn-go-to-sales-full:hover {
    background-color: rgba(255, 23, 68, 0.9);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(255, 23, 68, 0.3);
}

.btn-go-to-sales-full i {
    font-size: 1rem;
}

/* .modal-overlay tanımı aşağıda tek blokta (duplike blok kaldırıldı; kazanan değerler oradaydı) */

/* Uzun süre açık kalan oturumlarda / 4 GB kasada hafif UI modu.
   Asıl kazanç: geçiş, backdrop-blur, filter. Küçük box-shadow ucuz;
   komple kapatınca beyaz paneller düzleşir, GPU’ya neredeyse bir şey kalmaz. */
html.ui-lite-mode *,
html.ui-lite-mode *::before,
html.ui-lite-mode *::after {
    transition: none !important;
    scroll-behavior: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-shadow: none !important;
    filter: none !important;
    will-change: auto !important;
}

/* Büyük yumuşak gölgeleri kısık tut (1–4px blur); düz beyaz kutu bırakma. */
html.ui-lite-mode .modal-content,
html.ui-lite-mode .modal-container,
html.ui-lite-mode .swal2-popup,
html.ui-lite-mode .product-card,
html.ui-lite-mode .table-card,
html.ui-lite-mode .category-btn,
html.ui-lite-mode .nav-item,
html.ui-lite-mode .card,
html.ui-lite-mode .payment-modal,
html.ui-lite-mode .cancel-modal,
html.ui-lite-mode .discount-modal,
html.ui-lite-mode .partial-payment-modal,
html.ui-lite-mode .split-payment-modal,
html.ui-lite-mode .split-discount-modal,
html.ui-lite-mode .product-options-modal-card,
html.ui-lite-mode .change-group-wide-modal,
html.ui-lite-mode .table-transfer-modal,
html.ui-lite-mode .transfer-product-modal,
html.ui-lite-mode .dropdown-menu,
html.ui-lite-mode .toast,
html.ui-lite-mode .reports-card,
html.ui-lite-mode .stk-loc-kpi,
html.ui-lite-mode .pos-header,
html.ui-lite-mode .app-header {
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.10), 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}
html.ui-lite-mode [class*="-enter-active"],
html.ui-lite-mode [class*="-leave-active"],
html.ui-lite-mode [class*="-appear-active"] {
    animation: none !important;
    transition: none !important;
}

html.ui-lite-mode .modal-overlay,
html.ui-lite-mode .payment-fab-backdrop,
html.ui-lite-mode .quick-list-overlay,
html.ui-lite-mode .discount-modal-overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(0, 0, 0, 0.48) !important;
    animation: none !important;
}

/* Performans UI: SweetAlert2 — animasyon ve backdrop-blur yok (ana iş parçacığı dostu) */
html.ui-lite-mode .swal2-container.swal2-backdrop-show,
html.ui-lite-mode .swal2-container {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html.ui-lite-mode .swal2-popup,
html.ui-lite-mode .swal2-container.swal2-shown,
html.ui-lite-mode .swal2-icon,
html.ui-lite-mode .swal2-actions {
    animation: none !important;
    transition: none !important;
}

/* Performans UI: POS modalları — slideUp / shake / geçiş animasyonu yok */
html.ui-lite-mode .modal-content,
html.ui-lite-mode .cancel-modal,
html.ui-lite-mode .discount-modal,
html.ui-lite-mode .payment-modal,
html.ui-lite-mode .partial-payment-modal,
html.ui-lite-mode .split-payment-modal,
html.ui-lite-mode .split-discount-modal,
html.ui-lite-mode .product-options-modal-card,
html.ui-lite-mode .modal-container,
html.ui-lite-mode .change-group-wide-modal,
html.ui-lite-mode .table-transfer-modal,
html.ui-lite-mode .transfer-product-modal {
    animation: none !important;
    transition: none !important;
}
html.ui-lite-mode .partial-payment-modal.partial-modal-shake,
html.ui-lite-mode .split-payment-modal.split-modal-shake,
html.ui-lite-mode .change-group-wide-modal.modal-shake {
    animation: none !important;
}

/* Vue transition sınıfları — ödeme/satış modalları ve paneller kaymadan */
html.ui-lite-mode .slide-panel-enter-active,
html.ui-lite-mode .slide-panel-leave-active,
html.ui-lite-mode .fade-enter-active,
html.ui-lite-mode .fade-leave-active,
html.ui-lite-mode .fade-scale-enter-active,
html.ui-lite-mode .fade-scale-leave-active,
html.ui-lite-mode .perf-fade-enter-active,
html.ui-lite-mode .perf-fade-leave-active,
html.ui-lite-mode .slide-left-enter-active,
html.ui-lite-mode .slide-left-leave-active,
html.ui-lite-mode .slide-right-enter-active,
html.ui-lite-mode .slide-right-leave-active,
html.ui-lite-mode .pos-view-settings-bottom-enter-active,
html.ui-lite-mode .pos-view-settings-bottom-leave-active {
    transition: none !important;
}

html.ui-lite-mode .tsm-pending-panel-box {
    animation: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Görünüm düzeni jiggle — düşük GPU'da sürekli composite maliyeti */
html.ui-lite-mode .product-card.product-card--jiggle,
html.ui-lite-mode .table-card.table-card--jiggle,
html.ui-lite-mode .category-btn.category-btn--jiggle {
    animation: none !important;
}

html.ui-lite-mode .product-campaign-pill {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.ui-lite-mode .nav-item,
html.ui-lite-mode .payment-fab-item,
html.ui-lite-mode .print-fab-item,
html.ui-lite-mode .btn,
html.ui-lite-mode button {
    transition: none !important;
}

/* Dokunmatik cihazlarda hover maliyetini düşür */
@media (hover: none) and (pointer: coarse) {
    .nav-item:hover,
    .payment-fab-item:hover,
    .print-fab-item:hover,
    .btn:hover,
    button:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }
}

.modal-container {
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    width: 90%;
    max-height: 85vh; /* 90vh'den küçültüldü */
    overflow: hidden;
    overflow-y: auto;
}

.modal-container .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background-color: var(--primary);
    color: #fff;
    border-bottom: none;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.modal-container .modal-header h3 {
    color: #fff;
    font-size: 1rem;
    margin: 0;
    font-weight: 600;
}

.modal-container .modal-title {
    color: #fff;
    font-size: 1rem; /* 1.1rem'den küçültüldü */
    margin: 0;
}

.modal-container .close-button,
.modal-container .modal-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 1rem; /* 1.1rem'den küçültüldü */
    cursor: pointer;
    padding: 0.3rem; /* 0.4rem'den küçültüldü */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease;
    border-radius: 6px;
}

.modal-container .close-button:hover,
.modal-container .modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.modal-container .modal-body {
    padding: 1.25rem; /* Modal içi padding artırıldı */
}

.modal-container .form-group {
    margin-bottom: 0.6rem; /* 0.8rem'den küçültüldü */
}

.modal-container .form-group label {
    display: block;
    color: var(--text-primary);
    font-weight: 500;
    margin-bottom: 0.3rem; /* 0.4rem'den küçültüldü */
    font-size: 0.8rem; /* 0.85rem'den küçültüldü */
}

.modal-container .form-group input,
.modal-container .form-group textarea,
.modal-container .form-group select {
    width: 100%;
    padding: 0.5rem; /* 0.6rem'den küçültüldü */
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    background: var(--white);
    color: var(--text-primary);
    font-family: var(--font-family-base);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.modal-container .form-group input:focus,
.modal-container .form-group textarea:focus,
.modal-container .form-group select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}

.modal-container .form-group select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    padding-right: 2rem;
}

.modal-container .form-group input[readonly] {
    background-color: var(--light-gray);
    cursor: not-allowed;
}

.modal-container .form-group textarea {
    resize: vertical;
    min-height: 60px; /* 80px'den küçültüldü - 1366x768 için optimize */
}

.modal-container .modal-footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border-color);
}

.modal-container .button,
.modal-footer .btn {
    padding: 0.65rem 1.25rem;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.9rem;
    border: none;
    margin: 0;
}

.modal-container .button-primary:disabled,
.modal-footer .btn-primary:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.modal-container .button-secondary,
.modal-footer .btn-secondary {
    background-color: var(--light-gray);
    color: var(--text-primary);
}

.modal-container .button-secondary:hover,
.modal-footer .btn-secondary:hover {
    background-color: rgba(245, 245, 245, 0.95);
}

.modal-container .button i {
    font-size: 0.85rem; /* 1rem'den küçültüldü */
}

.modal-large {
    max-width: 800px;
    width: 90%;
}

/* Garson QR Kod modal */
.garson-qr-modal {
    max-width: 360px;
}

.garson-qr-hint {
    margin: 0 0 1rem 0;
    font-size: 0.9rem;
    color: var(--text-secondary, #555);
    text-align: center;
}

.garson-qr-wrap {
    text-align: center;
    padding: 0.5rem 0;
}

.garson-qr-img {
    display: block;
    margin: 0 auto 0.75rem;
    width: 280px;
    height: 280px;
    max-width: 100%;
    border-radius: 8px;
    background: #fff;
}

.garson-qr-url {
    margin: 0;
    font-size: 0.85rem;
    font-family: monospace;
    color: var(--text-primary);
    word-break: break-all;
}

/* Garson yetkileri (modal + kart rozetleri) */
.garson-yetkiler .checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}
.garson-yetki-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.yetki-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--bg-secondary, #f0f0f0);
    color: var(--primary, #2563eb);
    font-size: 0.85rem;
    border: 1px solid transparent;
}
.yetki-badge--cancel {
    background: rgba(229, 57, 53, 0.14);
    color: #c62828;
    border-color: rgba(229, 57, 53, 0.28);
}
.yetki-badge--treat {
    background: rgba(123, 31, 162, 0.12);
    color: #7b1fa2;
    border-color: rgba(123, 31, 162, 0.26);
}
.yetki-badge--pay {
    background: rgba(46, 125, 50, 0.14);
    color: #2e7d32;
    border-color: rgba(46, 125, 50, 0.28);
}
.yetki-badge--close {
    background: rgba(21, 101, 192, 0.12);
    color: #1565c0;
    border-color: rgba(21, 101, 192, 0.28);
}
.theme-dark .yetki-badge--cancel {
    background: rgba(239, 83, 80, 0.22);
    color: #ff8a80;
    border-color: rgba(239, 83, 80, 0.35);
}
.theme-dark .yetki-badge--treat {
    background: rgba(186, 104, 200, 0.22);
    color: #e1bee7;
    border-color: rgba(186, 104, 200, 0.35);
}
.theme-dark .yetki-badge--pay {
    background: rgba(102, 187, 106, 0.22);
    color: #a5d6a7;
    border-color: rgba(102, 187, 106, 0.35);
}
.theme-dark .yetki-badge--close {
    background: rgba(100, 181, 246, 0.22);
    color: #90caf9;
    border-color: rgba(100, 181, 246, 0.35);
}
.yetki-badge i {
    margin: 0;
}

/* Garson ayarları formu (genel) */
.garson-ayarlari-form {
    max-width: 640px;
}
.garson-ayarlari-form .form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
.garson-ayarlari-form .form-group input[type="number"] {
    width: 100%;
    max-width: 120px;
}
.garson-ayarlari-form .garson-ayar-checkboxes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem 1rem;
}
@media (min-width: 600px) {
    .garson-ayarlari-form .garson-ayar-checkboxes {
        grid-template-columns: 1fr 1fr;
    }
}

/* Garson Ayarları modal (Garson Tanımları sayfasından açılan) */

.garson-ayar-modal.modal-container {
    max-width: 920px;
}
.garson-ayar-modal .garson-ayar-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    margin-bottom: 1.5rem;
}
.garson-ayar-modal .garson-ayar-form-row-2 .form-group input[type="number"] {
    width: 100%;
    max-width: 100%;
}
.garson-ayar-card {
    background: var(--bg-secondary, #f8f9fa);
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 10px;
    padding: 1rem;
}
.garson-ayar-card .form-group {
    margin-bottom: 0.5rem;
}
.garson-ayar-card .form-group label i {
    margin-right: 0.35rem;
    opacity: 0.7;
}
.garson-ayar-card-desc {
    margin: 0;
    font-size: 0.78rem;
    color: var(--text-muted, #888);
    line-height: 1.4;
}
.garson-ayar-ios-switches {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.75rem;
    row-gap: 0;
}
@media (max-width: 700px) {
    .garson-ayar-ios-switches {
        grid-template-columns: 1fr;
    }
}
.garson-ayar-ios-switches .app-switch-row {
    border-bottom: 1px solid var(--border-color, #e8e8e8);
    padding: 0.55rem 0.25rem;
}

/* Ayarlar Debug sayfası: stilli form ve log alanları */

/* Ayarlar > Debug sayfası */
.settings-debug {
    width: 100%;
    max-width: none;
    align-self: stretch;
}
.debug-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border-color);
}
.debug-page-title {
    margin: 0 0 0.2rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
}
.debug-page-lead {
    margin: 0;
    font-size: 0.82rem;
    color: var(--text-muted, #64748b);
}
.debug-lock-btn {
    flex-shrink: 0;
}
.debug-panels {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.debug-panel {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    padding: 0.85rem 1rem 1rem;
}
.debug-panel--wide {
    /* günlük tam genişlik */
}
.debug-panel-head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
}
.debug-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    flex-shrink: 0;
    font-size: 0.85rem;
    color: var(--primary, #2563eb);
    background: color-mix(in srgb, var(--primary, #2563eb) 12%, transparent);
}
.debug-panel-icon--warn {
    color: #b45309;
    background: color-mix(in srgb, #f59e0b 18%, transparent);
}
.debug-panel-head-text {
    flex: 1;
    min-width: 0;
}
.debug-panel-title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.25;
}
.debug-panel-desc {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
    line-height: 1.35;
}
.debug-panel-head-actions {
    display: flex;
    gap: 0.35rem;
    flex-shrink: 0;
}
.debug-path-inline {
    font-size: 0.72rem;
    word-break: break-all;
}
.debug-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--border-color);
    margin-top: 0.15rem;
}
.debug-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent);
}
.debug-toggle-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.debug-toggle-label {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}
.debug-toggle-label strong {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--text-primary);
}
.debug-toggle-label span {
    font-size: 0.72rem;
    color: var(--text-muted, #64748b);
    line-height: 1.3;
}
.debug-kv {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    gap: 0.45rem 1rem;
    margin-bottom: 0.65rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: color-mix(in srgb, var(--border-color) 35%, transparent);
}
.debug-kv-row {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}
.debug-kv-row--warn .debug-kv-v {
    color: #b45309;
}
.debug-kv-k {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #64748b);
}
.debug-kv-v {
    font-size: 0.8rem;
    color: var(--text-primary);
    word-break: break-word;
}
.debug-kv-v code {
    font-size: 0.78rem;
}
.debug-badge {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
}
.debug-badge--ok {
    color: #15803d;
    background: color-mix(in srgb, #22c55e 18%, transparent);
}
.debug-badge--danger {
    color: #b91c1c;
    background: color-mix(in srgb, #ef4444 15%, transparent);
}
.debug-badge--muted {
    color: var(--text-muted);
    background: color-mix(in srgb, var(--border-color) 50%, transparent);
}
.debug-panel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.debug-panel-hint {
    margin: 0.55rem 0 0;
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
}
.debug-integration-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.debug-integration-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    background: #fff;
}
.debug-integration-row--test {
    border-color: color-mix(in srgb, #f59e0b 35%, var(--border-color));
    background: color-mix(in srgb, #fffbeb 55%, #fff);
}
.debug-integration-row--disabled {
    opacity: 0.72;
}
.debug-integration-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    flex: 1;
}
.debug-integration-info strong {
    font-size: 0.88rem;
    color: var(--text-primary);
}
.debug-integration-url {
    font-size: 0.78rem;
    color: var(--text-primary);
    word-break: break-all;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}
.debug-integration-alt {
    font-size: 0.72rem;
    color: var(--text-muted, #64748b);
    word-break: break-all;
}
.debug-integration-url-edit {
    margin-top: 0.45rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 100%;
}
.debug-integration-url-edit-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #64748b);
}
.debug-integration-url-edit-row {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}
.debug-integration-url-edit-row .form-control {
    flex: 1 1 12rem;
    min-width: 10rem;
}
.debug-integration-badge {
    display: inline-block;
    padding: 0.05rem 0.4rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}
.debug-integration-badge--live {
    color: #15803d;
    background: color-mix(in srgb, #22c55e 18%, transparent);
}
.debug-integration-badge--test {
    color: #b45309;
    background: color-mix(in srgb, #f59e0b 20%, transparent);
}
.debug-panel-hint--warn {
    color: #b45309;
}
.debug-panel-error {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    color: #dc2626;
}
.debug-panel-muted {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    color: var(--text-muted);
}
.debug-details {
    margin-top: 0.35rem;
    font-size: 0.78rem;
}
.debug-details summary {
    cursor: pointer;
    color: var(--primary, #2563eb);
    font-weight: 600;
    padding: 0.25rem 0;
    user-select: none;
}
.debug-details-list {
    margin: 0.25rem 0 0.5rem 1rem;
    padding: 0;
    color: var(--text-secondary);
    line-height: 1.45;
}
.debug-log-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.55rem;
}
.debug-log-filter {
    min-width: 9rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.8rem;
    background: var(--surface, #fff);
    color: var(--text-primary);
}
.debug-live-label {
    margin: 0.65rem 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.debug-live-dot {
    font-size: 0.45rem;
    color: #22c55e;
}
.debug-log-fn {
    color: #9cdcfe;
    margin-right: 0.25rem;
}
.settings-debug .debug-log-container--live {
    max-height: 220px;
    margin-bottom: 0;
}

.settings-debug .settings-section-description {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
}
.settings-debug .debug-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.settings-debug .debug-toolbar label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}
.settings-debug .debug-toolbar select {
    min-width: 140px;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    font-family: inherit;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    cursor: pointer;
}
.settings-debug .debug-toolbar select:hover,
.settings-debug .debug-toolbar select:focus {
    border-color: var(--primary);
    outline: none;
}
.settings-debug .debug-toolbar .debug-toolbar-path {
    font-size: 0.85rem;
    color: var(--text-secondary);
}
.settings-debug .debug-log-container {
    background: var(--card-bg-dark, #1e1e1e);
    color: var(--text-muted-inverse, #d4d4d4);
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    font-family: Consolas, Monaco, monospace;
    font-size: 11px;
    max-height: 280px;
    overflow-y: auto;
    margin-bottom: 0;
    border: 1px solid var(--border-color);
}
.settings-debug .debug-log-line {
    margin-bottom: 0.25rem;
    white-space: pre-wrap;
    word-break: break-all;
}
.settings-debug .debug-log-empty {
    color: var(--text-muted);
}
.settings-debug .debug-log-time { color: #6a9955; margin-right: 0.5rem; }
.settings-debug .debug-log-module { color: #569cd6; margin-right: 0.5rem; }
.settings-debug .debug-log-level-error { color: #f48771; margin-right: 0.5rem; }
.settings-debug .debug-log-level-warning { color: #dcdcaa; margin-right: 0.5rem; }
.settings-debug .debug-log-level { color: #9cdcfe; margin-right: 0.5rem; }
.settings-debug .debug-checkbox-row {
    margin-bottom: 1rem;
}
.settings-debug .debug-checkbox-row .checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.95rem;
}
.settings-debug .debug-checkbox-row input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--primary);
    cursor: pointer;
}
.theme-dark .settings-debug .debug-log-container {
    background: rgba(0,0,0,0.4);
    border-color: rgba(255,255,255,0.1);
}

/* Ayarlar placeholder (örn. Kurye Tanımları) */
.settings-placeholder-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    text-align: center;
    color: var(--text-muted, #666);
}
.settings-placeholder-content i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}
.settings-placeholder-content p {
    margin: 0;
    font-size: 0.95rem;
}

.permissions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    max-height: 500px;
    overflow-y: auto;
    padding: 0.5rem;
}

.permission-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem;
    background: var(--light-gray);
    border-radius: var(--border-radius);
    border: 1px solid transparent;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.permission-item:hover {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.05);
}

.permission-item label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-weight: 500;
    color: var(--text-primary);
}

.permission-item label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

.permission-item small {
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-left: 1.5rem;
}

/* Dark Mode Support */
.theme-dark .card-content,
.theme-dark .card-info {
    color: var(--white);
}

.theme-dark .list-item-name,
.theme-dark .list-item-info {
    color: var(--white);
}

.theme-dark .permission-item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .permission-item:hover {
    background: rgba(255, 23, 68, 0.1);
    border-color: var(--primary);
}

.theme-dark .permission-item label {
    color: var(--white);
}

.theme-dark .permission-item small {
    color: rgba(255, 255, 255, 0.7);
}

.checkbox-label,
.modal-container .form-group label {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* 8px'den küçültüldü */
    cursor: pointer;
    font-size: 0.85rem; /* küçültüldü */
}

/* iOS Switch Style Checkbox */
.checkbox-label input[type="checkbox"],
.modal-container .form-group label input[type="checkbox"],
input[type="checkbox"] {
    margin: 0;
    width: 51px;
    height: 31px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #ccc;
    border-radius: 31px;
    cursor: pointer;
    position: relative;
    transition: background-color 0.3s ease;
    flex-shrink: 0;
    border: none;
    outline: none;
}

.checkbox-label input[type="checkbox"]::before,
.modal-container .form-group label input[type="checkbox"]::before,
input[type="checkbox"]::before {
    content: '';
    position: absolute;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background-color: white;
    top: 2px;
    left: 2px;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.checkbox-label input[type="checkbox"]:checked,
.modal-container .form-group label input[type="checkbox"]:checked,
input[type="checkbox"]:checked {
    background-color: var(--primary);
}

.checkbox-label input[type="checkbox"]:checked::before,
.modal-container .form-group label input[type="checkbox"]:checked::before,
input[type="checkbox"]:checked::before {
    transform: translateX(20px);
}

.checkbox-label input[type="checkbox"]:hover,
.modal-container .form-group label input[type="checkbox"]:hover,
input[type="checkbox"]:hover {
    border-color: var(--primary);
}

.checkbox-label input[type="checkbox"]:focus,
.modal-container .form-group label input[type="checkbox"]:focus,
input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}

/* Dark Mode Checkbox */
.theme-dark .checkbox-label input[type="checkbox"],
.theme-dark .modal-container .form-group label input[type="checkbox"],
.theme-dark input[type="checkbox"] {
    background-color: rgba(255, 255, 255, 0.3);
}

.theme-dark .checkbox-label input[type="checkbox"]:checked,
.theme-dark .modal-container .form-group label input[type="checkbox"]:checked,
.theme-dark input[type="checkbox"]:checked {
    background-color: var(--primary);
}

.theme-dark .checkbox-label input[type="checkbox"]:hover,
.theme-dark .modal-container .form-group label input[type="checkbox"]:hover,
.theme-dark input[type="checkbox"]:hover {
    border-color: var(--primary);
}

/* Dark Mode Select */
.theme-dark .modal-container .form-group select {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.2);
}

.theme-dark .modal-container .form-group select option {
    background-color: var(--dark-gray);
    color: var(--white);
}

.button-small {
    padding: 0.15rem 0.4rem; /* küçültüldü */
    font-size: 0.7rem; /* 12px'den küçültüldü */
    margin-left: 0.4rem; /* 8px'den küçültüldü */
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
}

.button-small:hover {
    background-color: #e0e0e0;
}

/* ============================================
   Customers Page (Laravel CustomersPage.vue'den)
   ============================================ */
.customers-page {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--light-gray);
    padding: 1rem;
    gap: 1rem;
}

.top-panel {
    background: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    padding: 1rem;
}

.top-panel .panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.top-panel .panel-header h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.25rem;
}

.top-panel .search-box input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
}

.top-panel .search-box input:focus {
    outline: none;
    border-color: var(--primary);
}

.customers-list {
    flex: 1;
    background: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    padding: 1rem;
    overflow-y: auto;
}

.customers-table {
    background: white;
    overflow: auto;
}

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

.customers-table th,
.customers-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--light-gray);
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.customers-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    color: var(--text-muted);
}

.customers-table tr:hover {
    background-color: #f8f9fa;
}

/* ============================================
   Buttons
   ============================================ */
.button {
    padding: 0.75rem 1.5rem;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    border: none;
}

.button-primary {
    background-color: var(--primary);
    color: var(--white);
}

.button-primary i {
    color: var(--white) !important;
}

.button-primary:hover {
    background-color: #e0143a;
}

.button-primary:hover i {
    color: var(--white) !important;
}

.button-secondary {
    background-color: var(--light-gray);
    color: var(--text-primary);
}

.button-secondary:hover {
    background-color: #e0e0e0;
}

.button-icon {
    padding: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--secondary);
    transition: color 0.2s ease;
}

.button-icon:hover {
    color: var(--primary);
}

/* ============================================
   Loading & Error States
   ============================================ */
.loading-state,
.loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    gap: 1rem;
    padding: 2rem;
    min-height: 200px;
}

.loading-state i,
.loading i {
    font-size: 2rem;
}

.error {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.error i {
    font-size: 2rem;
    color: var(--danger);
}

.no-selection,
.no-results {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--secondary);
    gap: 1rem;
}

.no-selection i,
.no-results i {
    font-size: 3rem;
    opacity: 0.5;
}

/* ============================================
   Scrollbar Styling
   ============================================ */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* ============================================
   Cancel Modal
   ============================================ */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    animation: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.cancel-modal {
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* İptal modalı: kırmızı başlık (yalnızca cancel-modal) */
.cancel-modal .modal-header {
    background: #dc3545;
    color: white;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.discount-modal .modal-header {
    background: var(--primary);
    border-bottom: 2px solid #e0143a;
}

.modal-close {
    background: none;
    border: none;
    color: var(--white);
    font-size: 1.35rem;
    cursor: pointer;
    padding: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
}

.modal-close:hover {
    background: rgba(0, 0, 0, 0.2);
}

.modal-body {
    padding: 1.5rem;
}

.cancel-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.cancel-reason-btn {
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    padding: 1.25rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}

.cancel-reason-btn:hover {
    border-color: #dc3545;
    background: #fff5f5;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.15);
}

.cancel-reason-btn.active {
    border-color: #dc3545;
    background: #fff5f5;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.cancel-reason-btn span {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-primary);
}

.reason-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f8f9fa;
    color: #dc3545;
    font-size: 1.5rem;
}

.cancel-reason-btn.active .reason-icon {
    background: #dc3545;
    color: white;
}

.custom-reason-input {
    margin-bottom: 1.5rem;
}

.custom-reason-input textarea {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    font-size: 0.9rem;
    font-family: var(--font-family-base) !important;
    resize: vertical;
    min-height: 80px;
    transition: border-color 0.2s;
}

.custom-reason-input textarea:focus {
    outline: none;
    border-color: #dc3545;
}

.modal-actions {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}

.btn-cancel,
.btn-confirm {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-cancel {
    background: #f8f9fa;
    color: #6c757d;
}

.btn-cancel:hover {
    background: #e9ecef;
}

.btn-confirm {
    background: #dc3545;
    color: white;
}

.btn-confirm:hover:not(:disabled) {
    background: #c82333;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.btn-confirm:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Ortak modal: header/footer sabit, body scroll; en az min-height kadar büyür, max-height'a kadar */
.modal-content {
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    animation: slideUp 0.3s ease;
}
.modal-content > .modal-header {
    flex-shrink: 0;
    background-color: var(--primary);
    color: var(--white);
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    align-items: center;
}

.modal-content > .modal-body {
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.modal-content > .modal-footer,
.modal-content > [class$="-footer"] {
    flex-shrink: 0;
}

/* Ortak modal başlığı — primary tema (iptal/indirim/ödeme özel temalı modallar hariç) */
.modal-content:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header {
    background-color: var(--primary);
    color: #fff;
    border-bottom: none;
    padding: 0.5rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.modal-content:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header h2,
.modal-content:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    flex: 1;
    min-width: 0;
    color: #fff;
}

.modal-content:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header .modal-close {
    color: #fff;
}

.modal-content:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header .modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.modal-content > .modal-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border-color, #e0e0e0);
    background: var(--white);
}

.modal-header.modal-header--brand {
    background: var(--primary);
    color: white;
    border-bottom: none;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.modal-header.modal-header--brand .modal-close {
    color: white;
}

.modal-header.modal-header--brand .modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.modal-container .modal-header.modal-header--brand h3 {
    color: #fff;
}

.modal-overlay.modal-overlay--elevated {
    z-index: 12010;
}

/* Satış geri çağır: onay (Swal) açıkken masa seçim modalını geçici gizle; iptal/geri dönüşte tekrar görünür */
.modal-overlay.modal-overlay--elevated.recall-sale-modal-suspended {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

/* Geri çağır onayı — genel Swal katmanı ile aynı üst sıra */
.swal2-container.swal-recall-confirm-wrap {
    z-index: 27500 !important;
}

/* Masa / ürün aktar vb. ortak genişlik (tam ekran genişliği yok) */
.modal-content.modal-wide {
    max-width: 800px;
    width: min(95vw, 800px);
    min-height: min(400px, 55vh);
}

/* Masa seçimi: gruptan sonra kaydırmalı ızgara; padding modal-body'de tek yerde */
.modal-body.modal-body--table-picker {
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    flex: 1;
}

/* Masa seçici modalları — Masalar sayfası (.tables-view .table-groups-bar) ile aynı sınıf adı kullanıldığı için
   yalnızca bu kapsayıcılar altında açık/primary grup stili; ana sayfa koyu secondary + padding 0 kalır */
.modal-body.modal-body--table-picker .table-groups-bar,
.product-transfer-body .transfer-product-select-table .table-groups-bar {
    padding: 1rem;
    border-bottom: 1px solid var(--light-gray);
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    background: var(--light-gray);
    margin-bottom: 0;
    flex-shrink: 0;
}

.modal-body.modal-body--table-picker .table-group-btn,
.product-transfer-body .transfer-product-select-table .table-group-btn {
    flex: 0 1 auto;
    min-width: 0;
    padding: 0.5rem 1rem;
    border: 2px solid var(--border-color);
    border-radius: 8px;
    background: white;
    color: var(--text-primary);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.95rem;
    justify-content: center;
}

.modal-body.modal-body--table-picker .table-group-btn:hover,
.product-transfer-body .transfer-product-select-table .table-group-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    transform: none;
}

.modal-body.modal-body--table-picker .table-group-btn.active,
.product-transfer-body .transfer-product-select-table .table-group-btn.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
    box-shadow: none;
}

.table-picker {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}

.table-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 1rem;
}

.table-picker-card {
    background-color: var(--white);
    border-radius: var(--border-radius);
    padding: 1rem;
    text-align: center;
    position: relative;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 2px solid var(--light-gray);
    cursor: pointer;
}

.table-picker-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    border-color: var(--primary);
}

.table-picker-card.occupied {
    border-color: var(--success);
    background-color: rgba(76, 175, 80, 0.05);
}

.table-picker-card-number {
    font-size: .9rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.table-picker-card-status {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.table-picker-card.occupied .table-picker-card-status {
    color: var(--success);
    font-weight: 700;
}

/* Satışı geri çağır — satır listesi (modal-body içinde) */
.recall-sale-hint {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0 0 1rem;
    line-height: 1.45;
}

.recall-sale-hint-table {
    margin-bottom: 0.75rem;
}

.modal-body--table-picker > .recall-sale-hint {
    padding: 1rem 1.25rem 0;
    margin-bottom: 0.75rem;
}

.modal-body--table-picker > .recall-sale-table-toolbar {
    padding: 0 1.25rem;
}

.recall-sale-belge {
    font-weight: 600;
    opacity: 0.88;
}

.recall-sale-mode-bar {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.recall-sale-mode-btn {
    flex: 1;
    min-width: 140px;
    padding: 0.65rem 1rem;
    border-radius: 10px;
    border: 2px solid var(--light-gray);
    background: var(--white);
    font-weight: 600;
    cursor: pointer;
    font-size: 0.95rem;
}

.recall-sale-mode-btn.active {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.06);
    color: var(--primary);
}

.recall-sale-lines-wrap {
    overflow-y: auto;
    max-height: min(48vh, 440px);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    margin-bottom: 1rem;
}

.recall-sale-line-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--border-color);
    min-height: 52px;
}

.recall-sale-line-row:last-child {
    border-bottom: none;
}

.recall-sale-line-row.selectable {
    cursor: pointer;
}

.recall-sale-line-row.selectable:hover {
    background: rgba(0, 0, 0, 0.04);
}

.recall-sale-line-check input {
    width: 1.2rem;
    height: 1.2rem;
    cursor: pointer;
}

.recall-sale-line-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.recall-sale-line-name {
    font-weight: 600;
    font-size: 0.95rem;
}

.recall-sale-line-meta {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.recall-sale-line-tutar {
    font-weight: 700;
    white-space: nowrap;
    font-size: 0.95rem;
}

.recall-sale-table-toolbar {
    margin-bottom: 0.75rem;
}

.btn-back-recall {
    padding: 0.5rem 0.95rem;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--white);
    cursor: pointer;
    font-weight: 600;
    min-height: 44px;
}

.recall-sale-loading {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

/* Fiş önizleme modalı: yazdırma emri sonrası ekranda göster */
.receipt-preview-modal {
    max-width: 520px;
}
.receipt-preview-modal .modal-header h2 {
    margin: 0;
    font-size: 1.1rem;
}
.receipt-preview-body {
    padding: 1rem;
    background: var(--bg-secondary, #f5f5f5);
}
.receipt-preview-block {
    margin-bottom: 1rem;
}
.receipt-preview-block:last-child {
    margin-bottom: 0;
}
.receipt-preview-printer {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary, #c00);
    margin-bottom: 0.35rem;
}
.receipt-preview-text {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 12px;
    line-height: 1.35;
    margin: 0;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    white-space: pre-wrap;
    word-break: break-all;
    max-height: 320px;
    overflow-y: auto;
}
.receipt-preview-empty {
    margin: 0;
    color: var(--text-secondary, #666);
    font-size: 0.9rem;
}
.receipt-preview-iframe {
    width: 100%;
    min-height: 360px;
    max-height: 70vh;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    background: #fff;
}

.payment-modal {
    max-width: 700px;
    border: 3px solid var(--primary);
}

.payment-hotel-folio-row {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    background: var(--bg-secondary, #f5f5f5);
    border: 1px solid var(--border-color, #e0e0e0);
}
.payment-hotel-folio-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.payment-hotel-folio-select {
    width: 100%;
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    border: 1px solid var(--border-color, #ccc);
    font-size: 0.95rem;
    background: var(--white, #fff);
}

/* Yazarkasa/ödeme bekleme ekranı her zaman en üstte (SweetAlert2 27500 üstü) */
.payment-waiting-overlay,
.yazarkasa-kablolu-waiting-overlay {
    z-index: 29000 !important;
}

/* TSM kablosuz ödeme: yazarkasa bekleniyor + işlem kodu */
.tsm-waiting-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
}
.tsm-waiting-box {
    background: var(--white, #fff);
    border-radius: 12px;
    padding: 2rem 2.5rem;
    text-align: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    border: 2px solid var(--primary, #c00);
    min-width: 320px;
}
/* Yazarkasa bekleniyor: modern halka spinner (yavaş, akıcı) */
.tsm-waiting-spinner {
    display: none; /* Eski ikon gizlendi, aşağıdaki modern spinner kullanılıyor */
}
.tsm-waiting-spinner-modern {
    width: 48px;
    height: 48px;
    margin: 0 auto 1rem;
    border: 3px solid rgba(0, 0, 0, 0.08);
    border-top-color: var(--primary, #c00);
    border-radius: 50%;
    animation: tsm-spinner-rotate 1.4s ease-in-out infinite;
}
.tsm-waiting-title {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.tsm-waiting-code {
    margin: 0 0 1.5rem;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: var(--primary, #c00);
    font-family: var(--font-mono, 'Consolas', monospace);
}
.tsm-waiting-close-btn {
    padding: 0.5rem 1.5rem;
    font-size: 1rem;
    border: 1px solid var(--border-color, #ccc);
    border-radius: 8px;
    background: var(--bg-secondary, #f5f5f5);
    cursor: pointer;
    color: var(--text-primary, #333);
}
.tsm-waiting-close-btn:hover {
    background: var(--border-color, #ddd);
}
.qr-on-main-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.qr-on-main-box .qr-on-main-img-wrap {
    width: 50vmin;
    height: 50vmin;
    min-width: 220px;
    min-height: 220px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 16px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.qr-on-main-box .qr-on-main-img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Bekleyen TSM işlemleri paneli: yalnızca masa seçiliyken görünür; yarı saydam, yukarı aşağı hafif hareket */
@keyframes tsm-panel-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
@keyframes tsm-spinner-rotate {
    to { transform: rotate(360deg); }
}
.tsm-pending-panel {
    position: fixed;
    bottom: 5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9000;
    pointer-events: none;
}
.tsm-pending-panel-box {
    pointer-events: auto;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
    color: #fff;
    border-radius: 14px;
    padding: 0.85rem 1.1rem;
    min-width: 280px;
    max-width: 380px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    border: 1px solid rgba(255, 255, 255, 0.12);
    animation: none;
}
.tsm-pending-panel-title {
    margin: 0 0 0.6rem;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.95);
}
.tsm-pending-panel-title i {
    margin-right: 0.4rem;
    opacity: 0.9;
}
.tsm-pending-panel-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.tsm-pending-panel-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 0.9rem;
}
.tsm-pending-panel-row:last-child {
    border-bottom: none;
}
.tsm-pending-panel-status {
    flex-shrink: 0;
    width: 1.5rem;
    text-align: center;
    font-size: 1.1rem;
}
.tsm-pending-panel-status .tsm-spinner {
    animation: tsm-spinner-rotate 0.8s linear infinite;
    display: inline-block;
}
.tsm-status-waiting { color: #f0c674; }
.tsm-status-processing { color: #8fbc8f; }
.tsm-status-approved { color: #7bc67e; }
.tsm-status-cancelled { color: #e57373; }
.tsm-pending-panel-masa {
    min-width: 3.5rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
}
.tsm-pending-panel-code {
    flex: 1;
    font-family: var(--font-mono, Consolas, monospace);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #fff;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}
.tsm-pending-panel-tutar {
    font-weight: 600;
    color: #ffd54f;
    min-width: 4rem;
    text-align: right;
}
.tsm-pending-panel-row.tsm-row-status-3 .tsm-pending-panel-tutar,
.tsm-pending-panel-row.tsm-row-status-4 .tsm-pending-panel-tutar {
    color: rgba(255, 255, 255, 0.7);
}
.tsm-pending-panel-cancel {
    padding: 0.3rem 0.55rem;
    background: rgba(255, 255, 255, 0.12);
    border: none;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    font-size: 0.8rem;
    transition: background 0.15s ease;
}
.tsm-pending-panel-cancel:hover {
    background: rgba(229, 115, 115, 0.85);
    color: #fff;
}

/* E-Fatura işlem durumu: alt-orta (TSM paneli gibi) */
.edm-progress-panel {
    position: fixed;
    bottom: 5rem;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    z-index: 9200;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
}
.edm-progress-panel--visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    pointer-events: none;
}
.edm-progress-panel-box {
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.62);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    color: #fff;
    border-radius: 14px;
    padding: 0.85rem 1.15rem;
    min-width: 280px;
    max-width: 400px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.edm-progress-panel-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.edm-progress-panel-row {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.28rem 0;
    font-size: 0.86rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.88);
}
.edm-progress-panel-status {
    flex: 0 0 1.1rem;
    width: 1.1rem;
    height: 1.1rem;
    text-align: center;
    margin-top: 0.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.edm-progress-spinner-ring {
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    border: 2px solid rgba(255, 255, 255, 0.28);
    border-top-color: #b8e0b8;
    border-radius: 50%;
    animation: edm-progress-spin 0.75s linear infinite;
    box-sizing: border-box;
}
@keyframes edm-progress-spin {
    to { transform: rotate(360deg); }
}
.edm-progress-panel-label {
    flex: 1;
    min-width: 0;
}
.edm-progress-panel-row.edm-step-done {
    color: rgba(180, 230, 185, 0.95);
}
.edm-progress-panel-row.edm-step-done .edm-progress-panel-status {
    color: #7bc67e;
}
.edm-progress-panel-row.edm-step-active {
    color: #fff;
    font-weight: 600;
}
.edm-progress-panel-row.edm-step-active .edm-progress-panel-status {
    color: #8fbc8f;
}
.edm-progress-panel-row.edm-step-error {
    color: #ffcdd2;
}
.edm-progress-panel-row.edm-step-error .edm-progress-panel-status {
    color: #e57373;
}
.edm-progress-panel-row.edm-step-pending {
    color: rgba(255, 255, 255, 0.45);
}
.edm-progress-panel--done .edm-progress-panel-box {
    border-color: rgba(123, 198, 126, 0.35);
}
.edm-progress-panel--error .edm-progress-panel-box {
    border-color: rgba(229, 115, 115, 0.4);
}
.pos-app--view-settings-open .edm-progress-panel {
    pointer-events: none;
}

.tsm-pending-panel-lock {
    padding: 0.3rem 0.5rem;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
    cursor: help;
}

/* Parçalı ödeme modalı (ayrı ayrı 10050 ile aynıydı; split DOM’da sonra olduğu için üstte kalıyordu → 10060) */
.partial-payment-overlay {
    z-index: 10060;
}
/* Faturalı satış modalı: form ve içerik stilleri */
.fatura-modal .modal-body { padding: 1.25rem 1.5rem; }
.fatura-modal .form-group { margin-bottom: 1rem; }
.fatura-modal .form-group label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}
.fatura-modal .form-control,
.fatura-modal .form-group input {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius, 8px);
    font-size: 0.95rem;
    background: var(--white, #fff);
    color: var(--text-primary, #333);
    font-family: var(--font-family-base);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.fatura-modal .form-control:focus,
.fatura-modal .form-group input:focus {
    outline: none;
    border-color: var(--success, #28a745);
    box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}
.fatura-modal .btn {
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius, 8px);
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}
.fatura-modal .btn-block { width: 100%; }
.fatura-modal .btn-outline-primary {
    background: transparent;
    border: 1px solid var(--primary, #e0143a);
    color: var(--primary, #e0143a);
}
.fatura-modal .btn-outline-primary:hover {
    background: rgba(224, 20, 58, 0.08);
}
.fatura-modal .btn-primary {
    background: var(--primary, #e0143a);
    color: var(--white, #fff);
    border: none;
}
.fatura-modal .btn-primary:hover:not(:disabled) {
    background: #c41234;
    opacity: 0.95;
}
.fatura-modal .btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.fatura-modal .btn-outline-secondary {
    background: transparent;
    border: 1px solid var(--border-color, #ddd);
    color: var(--text-primary, #333);
}
.fatura-modal .btn-outline-secondary:hover {
    background: rgba(0, 0, 0, 0.05);
}
.fatura-modal .btn-secondary,
.fatura-modal .btn-sm {
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
}
.fatura-modal .btn-sm.btn-secondary {
    background: var(--light-gray, #eee);
    color: var(--text-primary, #333);
    border: 1px solid var(--border-color, #ddd);
}
.fatura-modal .d-flex { display: flex; }
.fatura-modal .gap-2 { gap: 0.5rem; }
.fatura-modal .justify-content-end { justify-content: flex-end; }
.fatura-modal .mb-2 { margin-bottom: 0.5rem; }
.fatura-modal .mb-3 { margin-bottom: 1rem; }
.fatura-modal .mt-3 { margin-top: 1rem; }
.fatura-modal .small { font-size: 0.875rem; }
.fatura-modal .text-muted { color: #6c757d; }
.fatura-modal .text-success { color: var(--success, #28a745); }
.fatura-modal .list-unstyled { list-style: none; padding-left: 0; margin: 0; }
.fatura-cari-panel {
    background: var(--light-gray, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 0.75rem 1rem;
}
.fatura-cari-list { max-height: 180px; overflow-y: auto; border-radius: 6px; }
.fatura-cari-item {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    border-radius: 6px;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}
.fatura-cari-item:hover { background: rgba(224, 20, 58, 0.08); }
.fatura-cari-search-wrap { position: relative; }
.fatura-cari-search-wrap .fatura-cari-loading {
    position: absolute;
    right: calc(0.75rem + 7.5rem);
    top: 0.85rem;
    color: #6c757d;
    pointer-events: none;
    z-index: 1;
}
@media (max-width: 560px) {
    .fatura-cari-search-wrap .fatura-cari-loading { right: calc(0.75rem + 2.75rem); }
}
.fatura-modal-overlay {
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.modal-content.fatura-modal.fatura-modal--scroll {
    max-width: 520px;
    width: min(520px, 100%);
    max-height: min(92vh, 720px);
    background: var(--lighter-gray, #f3f3f3);
}
.fatura-modal .modal-body,
.fatura-modal .fatura-modal-body {
    background: var(--lighter-gray, #f3f3f3);
}
.fatura-modal .modal-header,
.fatura-modal .modal-footer,
.fatura-modal .fatura-modal-footer {
    background: var(--lighter-gray, #f3f3f3);
}
.fatura-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
    align-items: end;
}
@media (max-width: 440px) {
    .fatura-form-row-2 { grid-template-columns: 1fr; }
}
.modal-content.fatura-modal > .modal-footer.fatura-modal-footer {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 0.75rem;
}
.modal-content.fatura-modal > .modal-footer.fatura-modal-footer .btn-primary { margin-left: auto; }
.fatura-cari-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: 6px;
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    z-index: 50;
    padding: 0.35rem 0;
}
.fatura-cari-dropdown .fatura-cari-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
    border-radius: 0;
    padding: 0.55rem 0.85rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.fatura-cari-dropdown .fatura-cari-item:last-child { border-bottom: none; }
.fatura-cari-dropdown .fatura-cari-item .cari-bakiye { margin-left: auto; white-space: nowrap; font-weight: 600; }
.fatura-cari-dropdown .fatura-cari-item .bakiye-negative { color: #dc3545; }
.fatura-cari-dropdown .fatura-cari-item .bakiye-zero { color: #6c757d; }
.fatura-cari-input-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.fatura-cari-input-row .form-control {
    flex: 1 1 auto;
    min-width: 0;
    height: auto;
    box-sizing: border-box;
}
.fatura-cari-input-row .btn-quick-cari,
.fatura-modal .fatura-cari-input-row .btn.btn-quick-cari,
.fatura-modal .fatura-cari-input-row .btn.btn-success.btn-quick-cari {
    flex-shrink: 0;
    white-space: nowrap;
    align-self: stretch;
    box-sizing: border-box;
    margin: 0;
    padding: 0.6rem 0.9rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    min-height: 0;
    height: auto;
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--success, #4CAF50);
    background: var(--success, #4CAF50) !important;
    color: #fff !important;
    box-shadow: none;
}
.fatura-cari-input-row .btn-quick-cari:hover:not(:disabled),
.fatura-modal .fatura-cari-input-row .btn.btn-success.btn-quick-cari:hover:not(:disabled) {
    background: var(--success-hover, #45a049) !important;
    border-color: var(--success-hover, #45a049);
    color: #fff !important;
}
.fatura-cari-empty {
    margin-top: 0.45rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: rgba(76, 175, 80, 0.06);
    border: 1px dashed rgba(76, 175, 80, 0.35);
}
.fatura-cari-empty-add,
.fatura-modal .btn.btn-success.fatura-cari-empty-add {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    white-space: normal;
    text-align: left;
    line-height: 1.25;
    padding: 0.5rem 0.85rem;
    font-weight: 600;
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--success, #4CAF50);
    background: var(--success, #4CAF50) !important;
    color: #fff !important;
}
.fatura-cari-empty-add:hover:not(:disabled),
.fatura-modal .btn.btn-success.fatura-cari-empty-add:hover:not(:disabled) {
    background: var(--success-hover, #45a049) !important;
    border-color: var(--success-hover, #45a049);
}
@media (max-width: 560px) {
    .fatura-cari-input-row .btn-quick-cari .btn-quick-cari-text { display: none; }
}
.fatura-cari-db-check {
    flex-shrink: 0;
    color: #22c55e;
    font-size: 1.15rem;
    line-height: 1;
}
.fatura-cari-input-row .form-control.fatura-cari-input--picked {
    border-color: rgba(34, 197, 94, 0.65);
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.12);
}
.fatura-type-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}
.fatura-type-seg {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.03);
}
.fatura-type-seg__btn {
    appearance: none;
    border: none;
    background: transparent;
    margin: 0;
    padding: 0.7rem 0.5rem;
    font-size: 0.86rem;
    font-weight: 650;
    color: var(--text-secondary, #666);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.fatura-type-seg__btn + .fatura-type-seg__btn {
    border-left: 1px solid var(--border-color, #ddd);
}
.fatura-type-seg__btn:hover {
    background: rgba(224, 20, 58, 0.05);
    color: var(--text-primary, #333);
}
.fatura-type-seg__btn.is-active {
    background: var(--primary, #e0143a);
    color: #fff;
}
.fatura-field-hint {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--text-secondary, #777);
}
.fatura-verno-row {
    display: flex;
    align-items: stretch;
    gap: 0.45rem;
}
.fatura-verno-row .form-control {
    flex: 1;
    min-width: 0;
}
.fatura-verno-lookup-btn {
    flex-shrink: 0;
    width: 2.6rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}
.fatura-edm-bar {
    display: none;
}
.maestro-edm-ask-popup {
    width: min(420px, 92vw) !important;
    padding: 1.35rem 1.35rem 1.1rem !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18) !important;
}
.maestro-edm-ask-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: var(--text-primary, #1f2937) !important;
    padding: 0 !important;
    margin: 0 0 0.65rem !important;
}
.maestro-edm-ask-html {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    max-width: 100%;
}
.maestro-edm-ask-popup .swal2-html-container {
    overflow: hidden !important;
    margin-top: 0 !important;
    max-width: 100%;
}
.maestro-edm-ask {
    min-width: 0;
    max-width: 100%;
}
.maestro-edm-ask__text {
    margin: 0 0 0.85rem;
    color: var(--text-secondary, #4b5563);
    font-size: 0.95rem;
    line-height: 1.45;
}
.maestro-edm-ask__preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    background: #f8fafc;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
.maestro-edm-ask__preview-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
}
.maestro-edm-ask__preview-copy strong {
    font-size: 0.9rem;
    color: #111827;
}
.maestro-edm-ask__preview-copy span {
    font-size: 0.78rem;
    color: #6b7280;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.maestro-edm-ask__preview .app-switch {
    flex-shrink: 0;
}
.maestro-edm-ask-actions {
    margin-top: 1.1rem !important;
    gap: 0.55rem !important;
}
.maestro-edm-ask-confirm {
    border-radius: 10px !important;
    font-weight: 650 !important;
    padding: 0.55rem 1.1rem !important;
}
.maestro-edm-ask-cancel {
    border-radius: 10px !important;
    font-weight: 600 !important;
    padding: 0.55rem 1.1rem !important;
}
.fatura-type-pill {
    flex: 1 1 30%;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 10px;
    background: var(--white, #fff);
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: left;
    color: var(--text-primary, #333);
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.fatura-type-pill:hover {
    border-color: rgba(224, 20, 58, 0.35);
}
.fatura-type-pill--active {
    border-color: var(--primary, #e0143a);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.12);
    background: rgba(224, 20, 58, 0.04);
}
.fatura-type-pill-text {
    flex: 1;
    min-width: 0;
    line-height: 1.25;
}
.fatura-type-pill-switch {
    pointer-events: none;
}
.partial-payment-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
/* Ayrı ayrı: sol/sağ panelde hangi tarafın faturalı olacağı */
.split-panel-invoice-bar {
    flex-shrink: 0;
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(0, 0, 0, 0.02);
}
.split-panel-invoice-bar--right {
    text-align: right;
}
.split-panel-invoice-bar.split-panel-invoice-bar--split-sale {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}
.split-panel-invoice-bar .split-panel-invoice-sale-btn {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.72rem;
    padding: 0.32rem 0.45rem;
}
.split-fatura-cancel-compact {
    font-size: 0.72rem;
    padding: 0.2rem 0.45rem;
    white-space: nowrap;
}
.btn-invoice-sale.split-invoice-active {
    background: rgba(34, 139, 34, 0.14);
    border-color: rgba(34, 139, 34, 0.5);
    color: #1a6b1a;
}
.split-fatura-side-btn {
    font-size: 0.78rem;
    padding: 0.28rem 0.55rem;
    border-radius: 8px;
    border: 1px solid rgba(224, 20, 58, 0.35);
    background: #fff;
    color: var(--primary, #e0143a);
    font-weight: 600;
    line-height: 1.2;
}
.split-fatura-side-btn:hover {
    background: rgba(224, 20, 58, 0.08);
}
.split-fatura-side-btn.active {
    background: rgba(34, 139, 34, 0.14);
    border-color: rgba(34, 139, 34, 0.5);
    color: #1a6b1a;
}
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mt-3 { margin-top: 1rem; }

.partial-payment-modal.partial-modal-shake {
    animation: split-modal-shake 0.45s ease-in-out;
}
.partial-payment-modal {
    display: flex;
    flex-direction: column;
    min-height: min(380px, 55vh);
    max-height: 90vh;
    max-width: 600px;
    width: 95%;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
    border: 2px solid var(--primary, #e0143a);
}
.partial-payment-body {
    display: flex;
    flex-direction: row;
    gap: 0;
    min-height: 0;
    padding: 1.2rem;
    background: #fff;
}
.partial-payment-type-buttons {
    flex-shrink: 0;
    width: 140px;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0 0.5rem 0 0;
    border-right: 1px solid var(--border-color, #e0e0e0);
}
.partial-payment-type-buttons .partial-type-btn {
    flex: 1;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.4rem 0.35rem;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s, transform 0.15s, box-shadow 0.15s;
}
.partial-payment-type-buttons .partial-type-btn i {
    font-size: 1rem;
    opacity: 0.95;
}
.partial-payment-type-buttons .partial-type-btn span {
    line-height: 1.1;
    text-align: center;
}
.partial-payment-type-buttons .partial-type-btn:hover:not(:disabled) {
    filter: brightness(1.12);
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.partial-payment-type-buttons .partial-type-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.4);
}
/* Parçalı ödeme tip butonları: HESAP FAB ile aynı renkler */
.partial-type-nakit { background: linear-gradient(135deg, #66BB6A 0%, #4CAF50 100%); }
.partial-type-kart { background: linear-gradient(135deg, #42A5F5 0%, #2196F3 100%); }
.partial-type-yemek { background: linear-gradient(135deg, #AB47BC 0%, #9c27b0 100%); }
.partial-type-havale { background: linear-gradient(135deg, #FFA726 0%, #FF9800 100%); }
.partial-type-veresiye { background: linear-gradient(135deg, #FF7043 0%, #F4511E 100%); }
.partial-type-cuzdan { background: linear-gradient(135deg, #8D6E63 0%, #6D4C41 100%); }
.partial-type-kapora { background: linear-gradient(135deg, #00897B 0%, #00695C 100%); }
.partial-type-gift { background: linear-gradient(135deg, #EC407A 0%, #C2185B 100%); }
.partial-type-uyelik { background: linear-gradient(135deg, #7E57C2 0%, #5E35B1 100%); }
.partial-payment-main {
    flex: 1;
    min-width: 0;
    display: flex;
    margin-left:0.5rem;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.partial-payment-header {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.2rem;
    background: linear-gradient(135deg, var(--primary, #e0143a) 0%, #b81030 100%);
    color: #fff;
}
.partial-payment-header h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.partial-payment-body {
    min-height: 0;
    padding: 1.2rem;
    background: #fff;
}
.partial-payment-total-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    text-align: center;
    padding: 0.85rem 1rem;
    background: linear-gradient(135deg, #f8f9fc 0%, #eef0f8 100%);
    border-radius: 10px;
    margin-bottom: 0.75rem;
}
.partial-payment-total-label {
    display: block;
    width: 100%;
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
}
.partial-payment-total-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}
.partial-discount-hint {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 0 0 0.75rem 0;
}
.partial-payment-hint {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 0 0 1rem 0;
    line-height: 1.35;
}
.partial-payment-rows {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
/* Ödeme satırı: tip rozeti | tutar | cari/çeki (opsiyonel) | kaldır */
.partial-payment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 100px minmax(0, 1.2fr) 36px;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.6rem;
    background: #fafafa;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    min-height: 48px;
}
@media (max-width: 420px) {
    .partial-payment-row {
        grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr) 32px;
        gap: 0.4rem;
        padding: 0.4rem 0.5rem;
    }
}
.partial-payment-row-badge {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    color: #fff;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.partial-payment-badge-cash { background: #2e7d32; }
.partial-payment-badge-card { background: #1565c0; }
.partial-payment-badge-mealVoucher { background: #7b1fa2; }
.partial-payment-badge-transfer { background: #ef6c00; }
.partial-payment-badge-qr { background: #6d4c41; }
.partial-payment-badge-credit { background: #546e7a; }
.partial-payment-badge-kapora { background: #00695c; }
.partial-payment-badge-giftVoucher { background: #ad1457; }
.partial-payment-row-amount-wrap {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.partial-payment-row-amount-wrap .partial-payment-currency {
    font-size: 0.9rem;
    color: var(--text-muted);
}
.partial-payment-row-extra {
    min-width: 0;
    display: flex;
    align-items: center;
}
.partial-payment-row-extra-empty {
    color: var(--text-muted);
    font-size: 0.85rem;
}
.btn-partial-extra {
    width: 100%;
    min-width: 0;
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    color: var(--primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.btn-partial-extra:hover {
    background: rgba(224, 20, 58, 0.06);
}
.btn-partial-extra.partial-cari-required,
.btn-partial-extra.partial-meal-required {
    border-color: #c62828;
    background: rgba(198, 40, 40, 0.08);
    color: #c62828;
}
/* Eski sınıflar uyumluluk (artık row grid kullanılıyor) */
.partial-payment-type-static-wrap {
    min-width: 100px;
    max-width: 140px;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: #f8f8f8;
    color: var(--text-muted);
}
.partial-payment-type-static {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem;
}
.partial-payment-type-wrap {
    position: relative;
    min-width: 140px;
}
.partial-payment-type-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 140px;
    min-height: 44px;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 0.9rem;
    background: #fff;
    cursor: pointer;
    text-align: left;
    color: inherit;
}
.partial-payment-type-btn:hover {
    border-color: var(--primary);
    background: rgba(224, 20, 58, 0.04);
}
.partial-payment-type-btn.partial-payment-type-open {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.2);
}
.partial-payment-type-label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.partial-payment-type-chevron {
    flex-shrink: 0;
    margin-left: 0.35rem;
    font-size: 0.75rem;
    color: var(--text-muted);
    transition: transform 0.2s;
}
.partial-payment-type-btn.partial-payment-type-open .partial-payment-type-chevron {
    transform: rotate(180deg);
}
.partial-payment-type-dropdown {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 4px;
    min-width: 100%;
    width: max-content;
    max-width: 260px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 100;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.partial-payment-type-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 48px;
    padding: 0.6rem 0.85rem;
    border: none;
    background: #fff;
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
    color: inherit;
}
.partial-payment-type-option:hover {
    background: rgba(224, 20, 58, 0.08);
}
.partial-payment-type-option i {
    width: 1.25rem;
    color: var(--text-muted);
}
.partial-payment-type-backdrop {
    position: fixed;
    inset: 0;
    z-index: 50;
    background: transparent;
}
.partial-payment-amount-input {
    width: 100%;
    min-width: 0;
    max-width: 100px;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 0.95rem;
    text-align: right;
    background: #fff;
}
.partial-payment-amount-input:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.15);
}
.partial-payment-currency {
    font-weight: 600;
    color: var(--text-muted);
}
.btn-partial-row-remove {
    padding: 0.4rem;
    border: none;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    border-radius: 6px;
}
.btn-partial-row-remove:hover {
    color: var(--primary);
    background: rgba(224, 20, 58, 0.1);
}
.partial-payment-shortcuts-wrap {
    margin-bottom: 0.75rem;
}
.partial-payment-shortcuts-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted, #666);
    margin-bottom: 0.35rem;
    font-weight: 500;
}
.partial-payment-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}
.partial-payment-shortcuts .btn-partial-shortcut {
    justify-content: center;
    padding: 0.55rem 0.5rem;
    font-size: 0.8rem;
    border: none;
    color: #fff;
    font-weight: 600;
}
.partial-payment-shortcuts .btn-partial-shortcut i {
    font-size: 0.85rem;
    opacity: 0.95;
}
.partial-payment-shortcuts .btn-partial-shortcut:hover {
    filter: brightness(1.12);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.partial-payment-shortcuts .btn-partial-shortcut-nakit { background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%); }
.partial-payment-shortcuts .btn-partial-shortcut-kart { background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%); }
.partial-payment-shortcuts .btn-partial-shortcut-yemek { background: linear-gradient(135deg, #c2185b 0%, #ad1457 100%); }
.partial-payment-shortcuts .btn-partial-shortcut-havale { background: linear-gradient(135deg, #ef6c00 0%, #e65100 100%); }
.partial-payment-shortcuts .btn-partial-shortcut-cuzdan { background: linear-gradient(135deg, #6d4c41 0%, #5d4037 100%); }
.partial-payment-shortcuts .btn-partial-shortcut-veresiye { background: linear-gradient(135deg, #00695c 0%, #004d40 100%); }
.btn-partial-shortcut {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
}
.btn-partial-add-row {
    width: 100%;
    padding: 0.55rem 1rem;
    border: 2px dashed var(--border-color);
    border-radius: 10px;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}
.btn-partial-add-row:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: rgba(224, 20, 58, 0.05);
}
.partial-payment-summary {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    background: #f5f5f5;
    border-radius: 10px;
}
.partial-summary-row {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
    font-size: 0.95rem;
}
.partial-summary-row-total {
    font-weight: 700;
    padding-bottom: 0.35rem;
}
.partial-summary-total-value {
    color: var(--primary, #e0143a);
    font-weight: 700;
}
.partial-remaining {
    font-weight: 700;
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(0,0,0,0.1);
}
.partial-remaining-ok {
    color: #2e7d32;
}
.partial-remaining-over {
    color: #c62828;
}
.partial-payment-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-color);
}
.partial-payment-actions-left {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.partial-payment-actions-right {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.partial-summary-discount {
    color: var(--secondary, #6c757d);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.partial-summary-discount .partial-discount-label { font-size: 0.85em; opacity: 0.9; }
.btn-remove-partial-discount {
    margin-left: auto;
    font-size: 0.8rem;
    padding: 0.2rem 0.5rem;
    color: var(--danger, #c62828);
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}
.btn-remove-partial-discount:hover { opacity: 0.9; }
.theme-dark .btn-remove-partial-discount { color: #ef5350; }
.btn-partial-discount {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.btn-partial-footer-discount {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: #fff;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--primary);
}
.btn-partial-footer-discount:hover {
    background: rgba(224, 20, 58, 0.08);
    border-color: var(--primary);
}
.btn-partial-complete {
    min-width: 160px;
}

.payment-split-row {
    margin-bottom: 1rem;
    text-align: center;
}
.btn-split-payment {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Ayrı ayrı ödeme modal: estetik + dokunmatik uyumlu */
.split-payment-overlay {
    z-index: 10050;
}
.split-payment-overlay .split-payment-modal {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 98vw;
    width: min(1180px, 98vw);
    max-height: 90vh;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.18);
    overflow: hidden;
}
.split-payment-modal .modal-header {
    flex-shrink: 0;
}
.split-payment-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.split-payment-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.split-payment-modal .modal-close.split-close-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
/* İndirim butonu artık orta sütunun altında (iki listenin arasında) */
.btn-split-discount-center {
    margin-top: auto;
    font-size: 0.9rem;
    padding: 0.55rem 0.75rem;
    white-space: nowrap;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px solid #81c784;
    color: #2e7d32;
    border-radius: 10px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 44px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
}
.btn-split-discount-center:hover:not(:disabled) {
    background: linear-gradient(135deg, #c8e6c9 0%, #81c784 100%);
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
}
.btn-split-discount-center:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.split-discount-modal-overlay {
    z-index: 12000;
}
.split-discount-modal {
    max-width: 500px;
    width: 90%;
}
.split-payment-modal.split-modal-shake {
    animation: split-modal-shake 0.45s ease-in-out;
}
@keyframes split-modal-shake {
    0%, 100% { transform: translateX(0); }
    15% { transform: translateX(-8px); }
    30% { transform: translateX(8px); }
    45% { transform: translateX(-6px); }
    60% { transform: translateX(6px); }
    75% { transform: translateX(-3px); }
    90% { transform: translateX(3px); }
}
.split-payment-body {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0.85rem;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 1rem;
    background: linear-gradient(to bottom, #bdbdbd 0%, #ffffff 100%);
}
.split-payment-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg);
    overflow: hidden;
}
/* Etkin panel: sepet doluysa sağ, sepet boşken sol listeye box-shadow */
.split-payment-panel.split-panel-active {
    box-shadow: 0 4px 16px rgba(76, 175, 80, 0.5);
    border-color: rgba(76, 175, 80, 0.5);
}
.split-payment-panel.split-drop-active {
    border-color: var(--primary, #e0143a);
    background: rgba(224, 20, 58, 0.06);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.2);
}
.split-panel-title {
    margin: 0 0 0.5rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: 0.02em;
}
.split-payment-center {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 1rem;
    min-width: 168px;
    max-width: 240px;
    align-self: stretch;
    min-height: 0;
}
/* Hesap / Ürün grupları */
.split-center-group {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: white;
    padding: 0.4rem 0.45rem 0.48rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    box-shadow: 0 10px 10px rgba(0,0,0,0.2);
}
.theme-dark .split-center-group {
    background: rgba(255, 255, 255, 0.045);
}
.split-center-group-title {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.07em;
    color: var(--text-muted);
    padding: 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.theme-dark .split-center-group-title {
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
.split-center-group-body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.split-center-group-empty {
    margin: 0;
    font-size: 0.74rem;
    color: var(--text-muted);
    text-align: center;
    padding: 0.28rem 0.15rem;
    line-height: 1.35;
}
/* Ürün: sol satır seçili değilken grup görünür, yalnızca pasif */
.split-center-group--product.split-center-group--passive {
    opacity: 0.52;
    filter: grayscale(0.25);
}
.split-center-group--product.split-center-group--passive .split-center-group-title {
    color: var(--text-muted);
}
.split-center-inline {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}
.split-center-inline--row {
    flex-direction: row;
    align-items: stretch;
    gap: 0.3rem;
}
.split-center-inline--row .split-center-input-compact {
    flex: 1;
    min-width: 0;
}
.split-center-inline--row .split-center-btn.split-center-btn--compact {
    flex: 0 0 auto;
    min-width: 4.25rem;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
}
.split-center-inline.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}
.split-center-input-compact {
    width: 100%;
    min-height: 34px;
    padding: 0.22rem 0.35rem;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 6px;
    text-align: center;
}
.split-center-input-n {
    flex: 1;
    min-width: 0;
}
.split-center-btn--compact {
    padding: 0.22rem 0.32rem;
    font-size: 0.74rem;
    border-radius: 8px;
    gap: 0.25rem;
}
.split-center-btn--compact .split-center-icon {
    font-size: 0.85rem;
}
.split-center-field-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.32rem;
    width: 100%;
}
.split-center-field-row--pay {
    align-items: stretch;
}
.split-center-field-row.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}
.split-center-field-row--single .split-center-btn--split-action {
    flex: 1;
    width: 100%;
    max-width: none;
}
.split-center-nudge-stack {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    gap: 3px;
    width: 26px;
    height: 50px;
    flex-shrink: 0;
}
.split-center-nudge-btn {
    flex: 1;
    min-height: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    background: var(--bg-secondary, #eef0f3);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    color: var(--text-primary);
    transition: background 0.15s ease, border-color 0.15s ease;
}
.split-center-nudge-btn:hover:not(:disabled) {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.35);
}
.split-center-nudge-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.theme-dark .split-center-nudge-btn {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}
.split-center-input-soft {
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    background: var(--white) !important;
    box-shadow: none !important;
    color: var(--text-primary);
}
.theme-dark .split-center-input-soft {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}
.split-center-input-soft:focus {
    border-color: rgba(99, 102, 241, 0.35) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.12) !important;
}
.split-center-input-grow {
    flex: 1;
    min-width: 0;
}
.split-center-btn--split-action {
    flex: 0 0 auto;
    min-width: 2.75rem;
    max-width: 4rem;
    font-weight: 700;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}
.split-center-btn-pay {
    flex: 0 0 auto;
    min-width: 4rem;
    height: 50px;
    padding: 0.22rem 0.55rem;
    font-size: 0.85rem;
    font-weight: bold;
    border-radius: 8px;
    border: 1px solid rgba(0, 105, 92, 0.35);
    background: linear-gradient(135deg, #e0f2f1 0%, #b2dfdb 100%);
    color: #00695c;
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}
.split-center-btn-pay:hover:not(:disabled) {
    box-shadow: 0 1px 6px rgba(0, 105, 92, 0.2);
}
.split-center-btn-pay:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.theme-dark .split-center-btn-pay {
    border-color: rgba(77, 182, 172, 0.45);
    color: #b2dfdb;
}
.split-center-field-row .split-center-input-compact.split-center-input-soft {
    height: 50px;
}
.split-center-group .split-center-btn {
    white-space: normal;
    line-height: 1.22;
    justify-content: center;
    text-align: center;
}
.split-center-stepper--compact {
    gap: 0.25rem;
}
.split-center-stepper--compact .split-center-input-compact {
    min-height: 34px;
}
.split-center-stepper-btn--sm {
    width: 32px;
    min-width: 32px;
    height: 34px;
    font-size: 1rem;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(63, 81, 181, 0.1);
}
.split-divide-status--compact {
    font-size: 0.72rem;
    margin: 0 0 0.05rem 0;
    text-align: center;
}
.split-per-person-preview {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    text-align: center;
    line-height: 1.35;
    white-space: pre-line;
}
.split-cancel-divide--compact {
    margin-top: 0.1rem;
    padding: 0.15rem 0.35rem;
    font-size: 0.72rem;
}
.split-center-discount-foot {
    margin-top: auto;
    flex-shrink: 0;
    min-height: 38px;
    font-size: 0.82rem;
    padding: 0.42rem 0.5rem;
}
.split-center-divider {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    margin: 0.2rem 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.split-center-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.6rem 0.5rem;
    height: 50px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    white-space: nowrap;
}
.split-center-btn:active {
    transform: scale(0.98);
}
.split-center-icon {
    font-size: 1rem;
    opacity: 0.95;
}
.split-center-btn-divide {
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    color: #1565c0;
    border-color: #90caf9;
}
.split-center-btn-divide:hover {
    background: linear-gradient(135deg, #bbdefb 0%, #90caf9 100%);
    box-shadow: 0 2px 8px rgba(21, 101, 192, 0.25);
}
.split-center-btn-portion {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    color: #2e7d32;
    border-color: #81c784;
}
.split-center-btn-portion:hover {
    background: linear-gradient(135deg, #c8e6c9 0%, #81c784 100%);
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
}
.split-center-btn-product {
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    color: #e65100;
    border-color: #ffb74d;
}
.split-center-btn-product:hover {
    background: linear-gradient(135deg, #ffe0b2 0%, #ffb74d 100%);
    box-shadow: 0 2px 8px rgba(230, 81, 0, 0.25);
}
.split-center-btn-partial {
    background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
    color: #7b1fa2;
    border-color: #ce93d8;
}
.split-center-btn-partial:hover {
    background: linear-gradient(135deg, #e1bee7 0%, #ce93d8 100%);
    box-shadow: 0 2px 8px rgba(123, 31, 162, 0.25);
}
.split-center-table-partial-hint {
    font-size: 0.72rem;
    color: var(--text-muted);
    line-height: 1.35;
    margin: 0;
}
.split-center-btn-table-partial {
    background: linear-gradient(135deg, #e0f2f1 0%, #b2dfdb 100%);
    color: #00695c;
    border-color: #4db6ac;
}
.split-center-btn-table-partial:hover {
    background: linear-gradient(135deg, #b2dfdb 0%, #80cbc4 100%);
    box-shadow: 0 2px 8px rgba(0, 105, 92, 0.22);
}
/* Seçili ürün: iki ayrı kart (Ürünü böl / Kısmi ödeme) */
.split-center-card {
    width: 100%;
    padding: 0.65rem;
    border-radius: 12px;
    background: var(--bg-secondary, #f8f9fa);
    border: 1px solid var(--border-color);
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    transition: opacity 0.2s ease;
}
.split-center-card.disabled {
    opacity: 0.5;
    pointer-events: none;
}
.split-center-card.disabled .split-center-card-title {
    color: var(--text-muted);
}
.split-center-card-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.split-center-card-input {
    width: 100%;
    text-align: center;
    min-height: 40px;
    border-radius: 8px;
}
.split-center-stepper {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
}
.split-center-stepper .split-center-card-input {
    flex: 1;
}
.split-center-stepper-btn {
    width: 40px;
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(99, 102, 241, 0.28);
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.22) 0%, rgba(63, 81, 181, 0.14) 100%);
    color: var(--text-primary, #1f2937);
    border-radius: 8px;
    box-shadow: 0 6px 14px rgba(63, 81, 181, 0.12);
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.split-center-stepper-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(63, 81, 181, 0.42);
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.32) 0%, rgba(63, 81, 181, 0.2) 100%);
    box-shadow: 0 10px 20px rgba(63, 81, 181, 0.18);
}
.split-center-stepper-btn:active:not(:disabled) {
    transform: translateY(0);
}
.split-center-stepper-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.theme-dark .split-center-stepper-btn {
    color: #eef2ff;
    border-color: rgba(129, 140, 248, 0.32);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.26) 0%, rgba(67, 56, 202, 0.18) 100%);
    box-shadow: 0 8px 18px rgba(49, 46, 129, 0.28);
}
.theme-dark .split-center-stepper-btn:hover:not(:disabled) {
    border-color: rgba(165, 180, 252, 0.42);
    background: linear-gradient(135deg, rgba(129, 140, 248, 0.34) 0%, rgba(79, 70, 229, 0.24) 100%);
}
.split-center-card .split-center-btn {
    width: 100%;
}
.split-divide-status {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0 0 0.2rem 0;
}
.split-cancel-divide {
    margin-top: 0.25rem;
    width: 100%;
}
.split-center-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    margin-bottom: 0.4rem;
}
.split-center-input {
    width: 56px;
    text-align: center;
    min-height: 40px;
    border-radius: 8px;
}
.split-center-row .split-center-btn {
    flex: 1;
    min-width: 0;
}
.split-close-left-btn {
    margin-top: 0.5rem;
    width: 100%;
}
/* Ortada sor: Veresiye / Yemek çeki modal (split penceresi içinde) */
.split-center-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    border-radius: inherit;
    padding: 1rem;
}
.split-center-modal {
    background: #fff;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    min-width: 280px;
    max-width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    border: 1px solid var(--border-color);
}
.split-center-modal-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.split-center-modal-row {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}
.split-center-modal-row input { flex: 1; min-width: 0; }
.split-center-modal-list {
    list-style: none;
    margin: 0 0 0.5rem 0;
    padding: 0;
    max-height: 140px;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
}
.split-center-modal-item {
    padding: 0.5rem 0.6rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.9rem;
}
.split-center-modal-item:last-child { border-bottom: none; }
.split-center-modal-item:hover { background: rgba(0,0,0,0.05); }
.split-center-modal-item.selected { background: #00695c; color: #fff; }
.split-center-modal-selected {
    font-size: 0.85rem;
    color: #2e7d32;
    margin-bottom: 0.5rem;
}
.split-center-modal-selected i { margin-right: 0.35rem; }
.split-center-modal-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    margin-top: 0.5rem;
}
.split-center-modal-loading { padding: 0.5rem 0; color: var(--text-muted); }
.split-center-modal-vouchers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}
.split-center-voucher-btn {
    padding: 0.5rem 0.85rem;
    font-size: 0.9rem;
    border-radius: 8px;
    border: 2px solid #bf360c;
    background: #fff;
    color: #bf360c;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.split-center-voucher-btn:hover {
    background: #ffccbc;
    color: #bf360c;
}
/* Veresiye / Yemek çeki: ayrı pencerede net kart (1366x768 uyumlu) */
.split-extras-card {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-height: 180px;
    overflow-y: auto;
}
.split-extras-veresiye { border-left: 4px solid #00695c; }
.split-extras-yemek { border-left: 4px solid #bf360c; }
.split-extras-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.split-extras-title i { opacity: 0.9; }
.split-extras-row {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}
.split-extras-input {
    flex: 1;
    min-width: 0;
    font-size: 0.85rem;
    padding: 0.4rem 0.5rem;
}
.split-extras-search {
    flex-shrink: 0;
    min-height: 32px;
}
.split-extras-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 72px;
    overflow-y: auto;
    font-size: 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-secondary, #fafafa);
}
.split-extras-item {
    padding: 0.35rem 0.5rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
}
.split-extras-item:last-child { border-bottom: none; }
.split-extras-item:hover { background: rgba(0,0,0,0.05); }
.split-extras-item.selected {
    background: #00695c;
    color: #fff;
}
.split-extras-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.split-extras-voucher-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.8rem;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background: #fff;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.split-extras-voucher-btn:hover { background: #fff3e0; border-color: #ffb74d; }
.split-extras-voucher-btn.selected {
    background: #bf360c;
    color: #fff;
    border-color: #bf360c;
}
.split-extras-selected {
    font-size: 0.8rem;
    color: #2e7d32;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.split-extras-selected i { color: #2e7d32; }
.split-extras-loading {
    font-size: 0.85rem;
    color: var(--text-muted);
}
.split-extras-confirm {
    width: 100%;
    min-height: 40px;
    margin-top: 0.25rem;
    font-size: 0.9rem;
    font-weight: 600;
}
.split-extras-confirm:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
/* Seçili satır: uygulama yeşil tonu (var(--success) #4CAF50) */
.split-item-check {
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 4px;
    border: 1.5px solid var(--border-color, #c5c5c5);
    background: var(--input-bg, #fff);
    box-sizing: border-box;
}
.split-item-check.on {
    border-color: var(--success, #4CAF50);
    background: var(--success, #4CAF50);
    box-shadow: inset 0 0 0 2px #fff;
}
.split-item-selected {
    background: rgba(76, 175, 80, 0.12);
    box-shadow: inset 0 0 5px 5px rgba(76, 175, 80, 0.1);
}
.split-group-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    padding: 0.35rem 0.5rem 0.2rem;
    flex-shrink: 0;
    border-bottom: 1px solid var(--border-color, #e8e8e8);
}
.split-group-chip {
    border: 1px solid var(--border-color, #ddd);
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 650;
    cursor: pointer;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.split-group-chip.active {
    border-color: var(--success, #4CAF50);
    background: rgba(76, 175, 80, 0.16);
    color: var(--text-primary);
}
.split-equal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.split-payment-panel .split-payment-total {
    margin-top: auto;
}
.split-payment-total {
    font-weight: 700;
    font-size: 1rem;
    padding: 0.75rem;
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.split-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}
.split-total-label { flex-shrink: 0; }
.split-total-value { flex-shrink: 0; margin-left: auto; }
.split-total-left { color: var(--text-primary); }
.split-total-left .split-discount-row { font-weight: 500; font-size: 0.9rem; color: var(--text-muted); }
.split-total-right { color: #2e7d32; font-weight: 700; }
.split-total-right .split-discount-row { font-weight: 500; font-size: 0.9rem; color: var(--text-muted); }
.split-total-right .split-total-final { margin-top: 0.15rem; padding-top: 0.2rem; border-top: 1px dashed var(--border-color); }
/* TSM bekleyen: listelerin altında totalin hemen üstünde */
.split-tsm-pending {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.4rem;
    margin-top: 0.25rem;
    border: 1px solid rgba(255, 193, 7, 0.5);
    border-radius: 6px;
    background: rgba(255, 193, 7, 0.08);
    font-size: 0.85rem;
    flex-shrink: 0;
}
.split-tsm-pending-spinner {
    flex-shrink: 0;
    color: var(--primary, #1976d2);
}
.split-tsm-pending-spinner i {
    font-size: 1rem;
    display: inline-block;
    animation: split-tsm-spin 0.9s linear infinite;
}
@keyframes split-tsm-spin {
    to { transform: rotate(360deg); }
}
.split-tsm-pending-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.split-tsm-pending-label { font-weight: 600; color: var(--text-primary); }
.split-tsm-pending-code {
    font-family: var(--font-mono, Consolas, monospace);
    font-size: 0.8rem;
    color: var(--text-muted);
}
.split-tsm-pending-amount { font-weight: 700; color: #2e7d32; }
.split-tsm-pending-cancel {
    flex-shrink: 0;
    padding: 0.3rem 0.5rem;
    border: none;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.08);
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.split-tsm-pending-cancel:hover {
    background: rgba(229, 115, 115, 0.2);
    color: #c62828;
}
.split-payment-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}
.split-payment-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.25rem 0.75rem;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.15s ease;
    touch-action: manipulation;
}
.split-payment-item:hover {
    background: rgba(0,0,0,0.03);
}
.split-payment-item:last-child { border-bottom: none; }
.split-item-name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.split-item-qty { flex-shrink: 0; color: var(--text-muted); font-size: 0.85rem; }
.split-item-tutar { flex-shrink: 0; font-weight: 600; }
.btn-split-move {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: var(--bg-secondary, #f5f5f5);
    color: var(--text-primary);
    transition: background 0.15s, transform 0.1s;
}
.btn-split-move:hover {
    background: var(--success-hover);
    color: #fff;
    border-color: var(--success-hover);
}
.btn-split-move:active {
    transform: scale(0.95);
}
.split-payment-empty {
    margin: 0;
    padding: 1.25rem 1rem;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9rem;
}
.split-prior-accordion {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-color);
}
.split-prior-accordion__body {
    max-height: min(38vh, 280px);
    overflow-y: auto;
    padding: 0.45rem 0.5rem 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    background: rgba(76, 175, 80, 0.07);
}
.split-prior-accordion__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.48rem 0.7rem;
    border: none;
    border-top: 1px solid rgba(76, 175, 80, 0.28);
    background: rgba(76, 175, 80, 0.16);
    color: #1b5e20;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    text-align: left;
}
.split-prior-accordion__toggle:hover {
    background: rgba(76, 175, 80, 0.26);
}
.split-prior-accordion__toggle > i:first-child {
    color: var(--success, #4CAF50);
}
.split-prior-accordion__title {
    flex: 0 0 auto;
}
.split-prior-accordion__meta {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.split-prior-accordion__toggle > i:last-child {
    margin-left: auto;
    opacity: 0.7;
    font-size: 0.72rem;
}
.theme-dark .split-prior-accordion__toggle {
    background: rgba(76, 175, 80, 0.22);
    color: #c8e6c9;
}
.prior-pay-card--split {
    margin: 0;
}
.split-payment-footer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    /*padding-top: 0.85rem;*/
    padding-bottom: 0.85rem;
    /*border-top: 1px solid var(--border-color);*/
}
.split-payment-footer-actions {
    display: flex;
    justify-content: flex-start;
    padding: 0 0.5rem;
}
.split-payment-footer-actions .btn-split-discount { font-size: 0.85rem; }
/* Ayrı ayrı footer: tek satır — sol 3 yan yana | ortada büyük nakit+kart (+ isteğe kablosuz) yan yana | sağ 3 yan yana */
.split-payment-methods-bar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto minmax(240px, 1fr);
    align-items: end;
    justify-items: stretch;
    gap: 0.5rem 0.65rem;
    width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
}
.split-payment-bar__cluster {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0.45rem;
    min-width: 0;
}
.split-payment-bar__cluster--left,
.split-payment-bar__cluster--right {
    max-width: none;
    width: 100%;
}
.split-payment-bar__cluster--left {
    justify-content: flex-end;
}
.split-payment-bar__cluster--right {
    justify-content: flex-start;
}
.split-payment-bar__cluster--center {
    flex: 0 0 auto;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: flex-end;
    /* Nakit+Kart bitişik; TSM kablosuz açıksa üçü aynı satırda bitişik (.has-wireless-tsm) */
    gap: 0;
}
/* Üçlü (Nakit+Kart+Kablosuz): orta küme 400px — üç düğme rahat; dar ekranda taşmayı önlemek için max-width */
.split-payment-bar__cluster--center.has-wireless-tsm {
    width: 400px;
    max-width: 100%;
    box-sizing: border-box;
}
.split-payment-bar-slot-empty {
    flex: 1 1 0;
    min-width: 0;
    min-height: 56px;
}
.split-odeme-btn--compact {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    min-height: 56px;
    font-size: 0.68rem;
    padding: 0.4rem 0.3rem;
}
.split-odeme-btn--compact i {
    font-size: 1rem;
}
.split-odeme-btn--compact span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Nakit / Kart: diğerlerinden belirgin şekilde daha geniş ve yüksek; sıkışmayı engelle */
.split-odeme-btn.split-odeme-btn--hero {
    flex: 0 0 auto;
    flex-shrink: 0;
    box-sizing: border-box;
    min-width: 176px;
    width: 176px;
    max-width: none;
    min-height: 92px;
    height: 92px;
    font-size: 1.02rem;
    font-weight: 700;
    padding: 0.65rem 0.85rem;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
/* Nakit | Kart (yalnızca 2 düğme): birbirine bakan iç köşeler düz; Kart’ın dış sağ köşesi yuvarlak kalır */
.split-payment-bar__cluster--center .split-odeme-nakit.split-odeme-btn--hero {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.split-payment-bar__cluster--center:not(.has-wireless-tsm) .split-odeme-kart.split-odeme-btn--hero {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
/* Nakit | Kart | Kablosuz (TSM kablosuz açık): tek blok; Kart ortada köşesiz, Nakit sol dış + Kablosuz sağ dış yuvarlak */
.split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-btn.split-odeme-btn--hero {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: none;
}
.split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-kart.split-odeme-btn--hero {
    border-radius: 0;
}
.split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-kablosuz.split-odeme-btn--hero {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}
.split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-kablosuz.split-odeme-btn--hero i {
    font-size: 1.65rem;
}
.split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-kablosuz.split-odeme-btn--hero span {
    font-size: 0.92rem;
    font-weight: 700;
}
.split-odeme-btn--hero i {
    font-size: 1.65rem;
}
.split-odeme-btn--hero span {
    font-size: 0.92rem;
    font-weight: 700;
    overflow: visible;
    text-overflow: clip;
    max-width: none;
}
@media (max-width: 1100px) {
    .split-odeme-btn.split-odeme-btn--hero {
        min-width: 152px;
        width: 152px;
        min-height: 84px;
        height: 84px;
    }
    .split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-btn.split-odeme-btn--hero {
        min-width: 0;
        width: auto;
    }
}
@media (max-width: 900px) {
    .split-payment-methods-bar {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }
    .split-odeme-btn--compact {
        font-size: 0.62rem;
        min-height: 52px;
    }
    .split-odeme-btn.split-odeme-btn--hero {
        min-width: 138px;
        width: 138px;
        min-height: 78px;
        height: 78px;
    }
    .split-payment-bar__cluster--center.has-wireless-tsm .split-odeme-btn.split-odeme-btn--hero {
        min-width: 0;
        width: auto;
    }
}
.split-odeme-btn {
    position: relative;
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    min-height: 64px;
    padding: 0.5rem 0.35rem;
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 0.12s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease,
        filter 0.2s ease,
        background 0.2s ease;
    touch-action: manipulation;
    color: #fff;
}
.split-odeme-btn i {
    font-size: 1.15rem;
}
.split-odeme-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-align: center;
}
/* Fare: hafif yükselme + parlaklık + kenar vurgusu. Dokunmatik: .tap-active */
@media (hover: hover) and (pointer: fine) {
    .split-odeme-btn:hover:not(:disabled):not(.active) {
        filter: brightness(1.1) saturate(1.08);
        transform: translateY(-2px);
        box-shadow:
            0 6px 18px rgba(0, 0, 0, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.22);
        border-color: rgba(255, 255, 255, 0.42);
    }
}
.split-odeme-btn:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.55),
        0 4px 14px rgba(0, 0, 0, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
}
.split-odeme-btn.active {
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.92),
        0 4px 16px rgba(0, 0, 0, 0.28);
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.45);
}
.split-odeme-btn.active:hover:not(:disabled) {
    filter: brightness(0.94);
}
.split-odeme-btn:active:not(:disabled) {
    transform: scale(0.97);
    filter: brightness(0.94);
    box-shadow:
        inset 0 3px 10px rgba(0, 0, 0, 0.28),
        0 1px 4px rgba(0, 0, 0, 0.15);
    transition: transform 0.08s ease, box-shadow 0.08s ease, filter 0.08s ease;
}
.split-odeme-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    filter: grayscale(0.25);
}
/* Dokunmatik: pointerdown ile .tap-active — basılı + iç gölge + hafif küçülme */
.split-odeme-btn.tap-active:not(:disabled) {
    opacity: 1 !important;
    transform: scale(0.96) translateY(1px) !important;
    filter: brightness(0.9) saturate(0.95) !important;
    box-shadow:
        inset 0 4px 12px rgba(0, 0, 0, 0.32),
        0 2px 6px rgba(0, 0, 0, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
    transition: transform 0.08s ease, box-shadow 0.08s ease, filter 0.08s ease, border-color 0.08s ease !important;
}
.split-odeme-btn.tap-active.active:not(:disabled) {
    filter: brightness(0.92) saturate(0.98) !important;
    box-shadow:
        inset 0 3px 10px rgba(0, 0, 0, 0.28),
        0 0 0 3px rgba(255, 255, 255, 0.85),
        0 4px 14px rgba(0, 0, 0, 0.25) !important;
}
/* Ayrı ayrı ödeme çubuğu: iki duraklı gradient (Hesap FAB ile aynı palet) */
.split-odeme-nakit {
    background: linear-gradient(135deg, #66bb6a 0%, #2e7d32 100%);
}
.split-odeme-kart {
    background: linear-gradient(135deg, #42a5f5 0%, #1565c0 100%);
}
.split-odeme-kablosuz {
    background: linear-gradient(135deg, #26c6da 0%, #00838f 100%);
}
.split-odeme-havale {
    background: linear-gradient(135deg, #ffa726 0%, #ef6c00 100%);
}
.split-odeme-cuzdan {
    background: linear-gradient(135deg, #8d6e63 0%, #4e342e 100%);
}
.split-odeme-yemek {
    background: linear-gradient(135deg, #ab47bc 0%, #6a1b9a 100%);
}
.split-odeme-veresiye {
    background: linear-gradient(135deg, #ff7043 0%, #d84315 100%);
}
.split-odeme-complimentary {
    background: linear-gradient(135deg, #f48fb1 0%, #ad1457 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.25);
}
.split-odeme-complimentary i,
.split-odeme-complimentary span {
    color: #fff;
}
.split-odeme-parcali {
    background: linear-gradient(135deg, #29b6f6 0%, #01579b 100%);
}
.split-close-single-btn {
    align-self: center;
    min-width: 220px;
    min-height: 48px;
    margin-top: 0.35rem;
    border-radius: 12px;
    font-weight: 600;
    padding: 0.65rem 1.25rem;
}
.split-footer-cari .split-cari-list,
.split-footer-meal .split-meal-buttons {
    max-height: 100px;
}
.split-payment-methods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
}
.split-payment-method-label {
    margin-right: 0.25rem;
    font-size: 0.9rem;
    color: var(--text-muted);
}
.split-cari-step, .split-meal-step {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: var(--bg-secondary, #f5f5f5);
    border-radius: 6px;
}
.split-cari-step input, .split-cari-step .btn { margin-right: 0.25rem; margin-bottom: 0.25rem; }
.split-cari-list { list-style: none; padding: 0; margin: 0.25rem 0; max-height: 120px; overflow-y: auto; }
.split-cari-item { padding: 0.35rem 0.5rem; cursor: pointer; border-radius: 4px; }
.split-cari-item:hover, .split-cari-item.selected { background: var(--primary); color: #fff; }
.split-cari-selected, .split-meal-selected { display: block; font-size: 0.85rem; margin-top: 0.25rem; color: var(--text-muted); }
.split-meal-buttons { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.25rem; }
.split-partial-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    border-radius: inherit;
    padding: 1rem;
}
.split-partial-box {
    background: var(--bg-primary, #fff);
    padding: 0;
    border-radius: 12px;
    min-width: 320px;
    max-width: 420px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    border: 1px solid var(--border-color);
    overflow: hidden;
}
.split-partial-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: var(--bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--border-color);
}
.split-partial-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}
.split-partial-close {
    background: none;
    border: none;
    padding: 0.35rem;
    color: var(--text-muted);
    cursor: pointer;
    border-radius: 6px;
    line-height: 1;
}
.split-partial-close:hover {
    color: var(--text-primary);
    background: rgba(0,0,0,0.06);
}
.split-partial-item-name {
    font-size: 0.95rem;
    color: var(--text-muted);
    margin: 0;
    padding: 1rem 1.25rem 0.75rem;
    border-bottom: 1px solid var(--border-color);
}
.split-partial-section {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
}
.split-partial-section:last-of-type {
    border-bottom: none;
}
.split-partial-section-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.6rem;
}
.split-partial-btn-full {
    width: 100%;
    padding: 0.6rem 1rem;
}
.split-partial-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.split-partial-input {
    width: 100px;
    text-align: right;
}
.split-partial-n-row {
    margin-bottom: 0.35rem;
}
.split-partial-n-input {
    width: 64px;
    text-align: center;
}
.split-partial-n-label {
    font-size: 0.9rem;
    color: var(--text-muted);
}
.split-partial-hint-small {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0.4rem 0 0;
}
.split-partial-footer {
    padding: 1rem 1.25rem;
    background: var(--bg-secondary, #f8f9fa);
    border-top: 1px solid var(--border-color);
    text-align: center;
}
.split-partial-actions { margin-bottom: 0.75rem; }
.split-partial-row label { min-width: 100px; font-size: 0.9rem; }
.split-payment-actions {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-color);
}
.split-payment-hint {
    flex-shrink: 0;
    margin: 0.5rem 0 0;
    padding: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-muted);
    text-align: center;
}
@media (max-height: 800px) {
    .split-payment-overlay .split-payment-modal { height: 90vh; }
    .split-payment-body { min-height: 200px; }
    .split-extras-card { max-height: 160px; }
}
@media (max-width: 768px) {
    .split-payment-body { grid-template-columns: 1fr; }
    .split-payment-center { min-width: 100%; flex-direction: row; flex-wrap: wrap; justify-content: center; }
    .split-payment-methods-row {
        gap: 0.4rem;
    }
}
@media (max-width: 480px) {
    .split-odeme-btn { min-height: 48px; font-size: 0.7rem; }
}

.payment-modal .modal-header {
    background: var(--primary);
    border-bottom: 2px solid #e0143a;
}

.payment-modal .modal-body {
    padding: 1.5rem;
}

/* Ödeme modalı: yazarkasa/ödeme beklerken spinner + mesaj */
.payment-waiting {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 1rem;
    padding: 2rem;
}
.payment-waiting-spinner {
    font-size: 3rem;
    color: var(--primary, #e01744);
    animation: payment-spinner-spin 0.8s linear infinite;
}
@keyframes payment-spinner-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.payment-waiting-text {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--text-primary, #333);
}

/* SweetAlert üye kartı UID: aynı .payment-waiting-spinner, kompakt gövde */
.payment-waiting--swal-inline {
    min-height: 0;
    padding: 0.5rem 0 0.25rem;
    gap: 0;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: center;
}
.payment-waiting--swal-inline .payment-waiting-spinner {
    animation-duration: 1.35s;
    display: inline-block;
    transform-origin: 50% 50%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    contain: layout style;
}

/* Ana Ödeme Yöntemleri (NAKİT ve KREDİ) */
.payment-methods-primary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.payment-method-btn.payment-primary {
    background: white;
    border: 3px solid var(--primary);
    border-radius: 12px;
    padding: 2rem 1rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
    min-height: 160px;
    justify-content: center;
}

.payment-method-btn.payment-primary:hover {
    border-color: var(--primary);
    background: #fff5f5;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 23, 68, 0.25);
}

.payment-method-btn.payment-primary .payment-icon {
    font-size: 3.5rem;
}

.payment-method-btn.payment-primary span {
    font-size: 1.25rem;
    font-weight: 700;
}

/* Diğer Ödeme Yöntemleri */
.payment-methods-secondary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.payment-method-btn {
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 1.5rem 1rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
    min-height: 120px;
    justify-content: center;
}

.payment-method-btn:hover {
    border-color: var(--primary);
    background: #fff5f5;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 23, 68, 0.15);
}

.payment-icon {
    font-size: 2.5rem;
    line-height: 1;
}

.payment-method-btn span {
    font-size: 0.9rem;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
}

/* Ödeme buton renkleri */
/* Ödeme tipleri – palet + gradient */
.payment-method-btn.payment-nakit {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.25) 100%);
    border-color: #66BB6A;
    color: #2e7d32;
}
.payment-method-btn.payment-nakit:hover {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.5) 0%, rgba(76, 175, 80, 0.4) 100%);
    border-color: #4CAF50;
    box-shadow: 0 4px 12px rgba(102, 187, 106, 0.4);
}
.payment-method-btn.payment-card {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.35) 0%, rgba(33, 150, 243, 0.25) 100%);
    border-color: #42A5F5;
    color: #1976d2;
}
.payment-method-btn.payment-card:hover {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.5) 0%, rgba(33, 150, 243, 0.4) 100%);
    border-color: #2196F3;
    box-shadow: 0 4px 12px rgba(66, 165, 245, 0.4);
}
.payment-method-btn.payment-card-kablolu {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.35) 0%, rgba(33, 150, 243, 0.25) 100%);
    border-color: #42A5F5;
    color: #1976d2;
}
.payment-method-btn.payment-card-kablolu:hover {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.5) 0%, rgba(33, 150, 243, 0.4) 100%);
    border-color: #2196F3;
    box-shadow: 0 4px 12px rgba(66, 165, 245, 0.4);
}
.payment-method-btn.payment-card-kablosuz {
    background: linear-gradient(135deg, rgba(38, 198, 218, 0.35) 0%, rgba(0, 172, 193, 0.25) 100%);
    border-color: #26C6DA;
    color: #0097a7;
}
.payment-method-btn.payment-card-kablosuz:hover {
    background: linear-gradient(135deg, rgba(38, 198, 218, 0.5) 0%, rgba(0, 172, 193, 0.4) 100%);
    border-color: #00acc1;
    box-shadow: 0 4px 12px rgba(38, 198, 218, 0.4);
}
.payment-method-btn.payment-havale {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.35) 0%, rgba(255, 152, 0, 0.25) 100%);
    border-color: #FFA726;
    color: #f57c00;
}
.payment-method-btn.payment-havale:hover {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.5) 0%, rgba(255, 152, 0, 0.4) 100%);
    border-color: #FF9800;
    box-shadow: 0 4px 12px rgba(255, 167, 38, 0.35);
}
.payment-method-btn.payment-wallet {
    background: linear-gradient(135deg, rgba(141, 110, 99, 0.35) 0%, rgba(109, 76, 65, 0.25) 100%);
    border-color: #8D6E63;
    color: #5D4037;
}
.payment-method-btn.payment-wallet:hover {
    background: linear-gradient(135deg, rgba(141, 110, 99, 0.5) 0%, rgba(109, 76, 65, 0.4) 100%);
    border-color: #6D4C41;
    box-shadow: 0 4px 12px rgba(141, 110, 99, 0.35);
}
.payment-method-btn.payment-meal {
    background: linear-gradient(135deg, rgba(171, 71, 188, 0.25) 0%, rgba(156, 39, 176, 0.2) 100%);
    border-color: #AB47BC;
    color: #7b1fa2;
}
.payment-method-btn.payment-meal:hover {
    background: linear-gradient(135deg, rgba(171, 71, 188, 0.4) 0%, rgba(156, 39, 176, 0.35) 100%);
    border-color: #9c27b0;
    box-shadow: 0 4px 12px rgba(171, 71, 188, 0.3);
}
.payment-method-btn.payment-separate {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.25) 0%, rgba(63, 81, 181, 0.2) 100%);
    border-color: #5C6BC0;
    color: #3949ab;
}
.payment-method-btn.payment-separate:hover {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.4) 0%, rgba(63, 81, 181, 0.35) 100%);
    border-color: #3f51b5;
    box-shadow: 0 4px 12px rgba(92, 107, 192, 0.3);
}
.payment-method-btn.payment-partial {
    background: linear-gradient(135deg, rgba(41, 182, 246, 0.3) 0%, rgba(1, 87, 155, 0.24) 100%);
    border-color: #29b6f6;
    color: #01579b;
}
.payment-method-btn.payment-partial:hover {
    background: linear-gradient(135deg, rgba(41, 182, 246, 0.48) 0%, rgba(1, 87, 155, 0.4) 100%);
    border-color: #0288d1;
    box-shadow: 0 4px 12px rgba(1, 87, 155, 0.32);
}
.payment-method-btn.payment-credit {
    background: linear-gradient(135deg, rgba(255, 112, 67, 0.35) 0%, rgba(244, 81, 30, 0.25) 100%);
    border-color: #FF7043;
    color: #e64a19;
}
.payment-method-btn.payment-credit:hover {
    background: linear-gradient(135deg, rgba(255, 112, 67, 0.5) 0%, rgba(244, 81, 30, 0.4) 100%);
    border-color: #F4511E;
    box-shadow: 0 4px 12px rgba(255, 112, 67, 0.35);
}

/* Ödeme tutarı kutusu (veresiye / yemek çeki) */
.payment-amount-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}
/* Veresiye modal: sade ve pratik */
.cari-modal-header { padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color, #eee); }
.cari-modal-title { margin: 0; font-size: 1.1rem; font-weight: 600; }
.cari-modal-body { padding: 1rem; }
.veresiye-tutar-box {
    background: linear-gradient(135deg, rgba(255, 152, 0, 0.12), rgba(255, 152, 0, 0.06));
    border: 1px solid rgba(255, 152, 0, 0.35);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.veresiye-tutar-label { font-size: 0.8rem; color: var(--text-secondary, #666); }
.veresiye-tutar-value { font-size: 1.35rem; font-weight: 700; color: var(--text-primary, #333); }
.payment-amount-box.veresiye-amount-box {
    background: rgba(255, 152, 0, 0.1);
    border: 1px solid rgba(255, 152, 0, 0.35);
}
.payment-amount-box.meal-voucher-amount-box {
    background: rgba(156, 39, 176, 0.08);
    border: 1px solid rgba(156, 39, 176, 0.3);
}
.payment-amount-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.payment-amount-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary-color, #1976d2);
}

/* Yemek çeki adımı – 2’li grid, büyük butonlar */
.meal-voucher-step {
    max-width: 520px;
    margin: 0 auto;
}
.meal-voucher-hint {
    font-size: 0.95rem;
    color: var(--text-secondary, #666);
    margin-bottom: 1rem;
    line-height: 1.5;
}
.meal-voucher-loading {
    padding: 1rem;
    text-align: center;
    color: var(--text-muted, #888);
    font-size: 0.9rem;
}
.meal-voucher-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
.meal-voucher-buttons .btn-meal-voucher-btn,
.meal-voucher-buttons .btn-meal-voucher-confirm {
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.25rem;
    font-size: 1.05rem;
    font-weight: 600;
    justify-content: center;
}
.btn-meal-voucher-btn {
    padding: 1rem 1.25rem;
    min-height: 3.5rem;
    font-size: 1.05rem;
    font-weight: 600;
    background: linear-gradient(180deg, #f5f5f5 0%, #ebebeb 100%);
    color: var(--text-primary, #1a1a1a);
    border: 2px solid #c5c5c5;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.btn-meal-voucher-btn:hover {
    border-color: var(--primary, #e0143a);
    background: linear-gradient(180deg, #fff 0%, #f8f8f8 100%);
    box-shadow: 0 4px 12px rgba(224, 20, 58, 0.2);
}
.btn-meal-voucher-btn:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
    background: #e5e5e5;
}
.btn-meal-voucher-btn .meal-voucher-btn-img {
    max-height: 2.25rem;
    max-width: 100%;
    width: auto;
    object-fit: contain;
    vertical-align: middle;
}
.meal-voucher-buttons .btn-meal-voucher-confirm {
    grid-column: 1 / -1;
}
.meal-voucher-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.btn-meal-voucher-confirm {
    min-width: 200px;
}

/* Veresiye / Yemek çeki: modal içi placeholder (içerik ortak overlay'de) */
.cari-select-step-placeholder,
.meal-voucher-step-placeholder {
    min-height: 1px;
    visibility: hidden;
}
/* Ortak overlay'ler (hem normal ödeme hem ayrı ayrı ödeme) */
.shared-veresiye-overlay .cari-select-step-shared,
.shared-meal-overlay .meal-voucher-step-shared {
    max-width: 520px;
    margin: 0 auto;
}
.cari-overlay-actions { margin-top: 0.75rem; }

/* Veresiye: Cari seçim adımı */
.cari-select-step {
    max-width: 520px;
    margin: 0 auto;
}
.cari-search-row .btn-quick-cari {
    white-space: nowrap;
}
.cari-select-hint {
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
    margin-bottom: 1rem;
    line-height: 1.4;
}
.cari-search-row {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.cari-search-row .cari-search-input { flex: 1; min-width: 0; }
.cari-search-input {
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.95rem;
}
.cari-search-row .btn-quick-cari { white-space: nowrap; flex-shrink: 0; }
.cari-search-row .btn-quick-cari .btn-quick-cari-text { display: inline; }
@media (max-width: 380px) {
    .cari-search-row .btn-quick-cari .btn-quick-cari-text { display: none; }
}
.cari-list-section-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted, #666);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0 0 0.4rem 0;
}
.cari-list-loading {
    padding: 1rem;
    text-align: center;
    color: var(--text-muted, #888);
    font-size: 0.9rem;
}
.cari-list-empty {
    padding: 0.75rem;
    text-align: center;
    color: var(--text-muted, #888);
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}
.cari-search-list {
    list-style: none;
    margin: 0 0 0.75rem 0;
    padding: 0;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    background: var(--bg-primary, #fafafa);
}
.cari-search-item {
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.cari-search-item:last-child {
    border-bottom: none;
}
.cari-search-item:hover,
.cari-search-item.selected {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid var(--success);
}
.cari-search-item .cari-item-main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.cari-search-item .cari-name {
    font-weight: 500;
    color: var(--text-primary, #333);
}
.cari-search-item .cari-phone {
    font-size: 0.8rem;
    color: var(--text-muted, #666);
}
.cari-search-item .cari-bakiye {
    font-size: 0.85rem;
    font-weight: 600;
    color: #2e7d32;
    white-space: nowrap;
}
.cari-search-item .cari-bakiye.bakiye-negative {
    color: #c62828;
}
.cari-search-item .cari-bakiye.bakiye-zero {
    color: var(--text-muted, #888);
    font-weight: 500;
}
.cari-quick-create-divider {
    height: 1px;
    background: linear-gradient(to right, transparent, var(--border-color, #e0e0e0), transparent);
    margin: 1rem 0 0.75rem 0;
}
.cari-quick-create {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: var(--bg-secondary, #f5f5f5);
    border-radius: 8px;
    border: 1px dashed var(--border-color, #ddd);
}
.cari-quick-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    margin-bottom: 0.35rem;
}
.cari-quick-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
.cari-quick-input {
    flex: 1;
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.9rem;
}
.btn-outline-primary {
    background: transparent;
    border: 1px solid var(--primary-color, #1976d2);
    color: var(--primary-color, #1976d2);
}
.btn-outline-primary:hover {
    background: rgba(25, 118, 210, 0.08);
}
.cari-selected-box {
    padding: 0.65rem 0.85rem;
    background: rgba(76, 175, 80, 0.1);
    border: 1px solid rgba(76, 175, 80, 0.3);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
.cari-selected-name {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary, #333);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cari-selected-label {
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
}
.cari-confirm-close {
    flex-shrink: 0;
}
.cari-overlay-actions { margin-top: 0.5rem; }

/* Rezervasyon Badge - Masa Kartı Üzerinde */
.reservation-badge {
    top: 0.25rem;
    right: 0.25rem;
    background: rgba(255, 152, 0, 0.15);
    border: 1px solid #ff9800;
    border-radius: 12px;
    padding: 0.25rem 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.65rem;
    color: #ff9800;
    font-weight: 600;
    z-index: 10;
    max-width: calc(100% - 0.5rem);
}

.reservation-badge.reservation-past {
    background: rgba(244, 67, 54, 0.15);
    border-color: #f44336;
    color: #f44336;
}

.reservation-badge i {
    font-size: 0.7rem;
}

.reservation-time-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

/* Eski: transfer-table-modal-*, transfer-product-modal-* → ortak .modal-content / .table-* (üstte) */

/* ============================================
   Ürün Seçenekleri Modal (porsiyon, özellik, adet)
   ============================================ */
.product-options-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    padding: 1rem;
}

.product-options-modal-card {
    background: var(--white);
    border-radius: 12px;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.product-options-modal-card--narrow {
    max-width: 360px;
}

.product-options-modal-card--wide {
    max-width: 520px;
}

.product-options-modal-card--extra-wide {
    max-width: 680px;
}

.product-options-modal-card--ultra-wide {
    max-width: 880px;
}

.product-options-modal-header {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--light-gray);
    background: var(--primary);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.product-options-modal-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    flex: 1;
    min-width: 0;
}

.product-options-modal-close {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: white;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.product-options-modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.product-options-modal-body {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem 1.25rem;
}

.product-options-loading {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

.product-options-two-col {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
}

.product-options-two-col.has-right {
    flex-direction: row;
    gap: 1.25rem;
    align-items: flex-start;
}

.product-options-left {
    flex: 0 0 auto;
    min-width: 0;
}

.product-options-two-col.has-right .product-options-left {
    flex: 0 0 200px;
}

/* Tek scroll alanı modal-body; sağ sütunda overflow yok – kayma çubuğu kaybolma sorunu giderildi */
.product-options-right {
    flex: 1;
    min-width: 0;
    border-left: 1px solid var(--border-color, #e8e8e8);
    padding-left: 1rem;
}

.product-options-note-input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    font-size: 0.9rem;
    box-sizing: border-box;
}

.product-options-note-input::placeholder {
    color: var(--text-muted);
}

.product-options-section {
    margin-bottom: 1.1rem;
}

.product-options-section:last-child {
    margin-bottom: 0;
}

.product-options-right .product-options-section {
    background: var(--light-gray, #f8f9fa);
    border-radius: 10px;
    padding: 0.75rem;
    margin-bottom: 0.85rem;
}

.product-options-right .product-options-section:last-child {
    margin-bottom: 0;
}

.product-options-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.product-options-right .product-options-label {
    font-size: 0.75rem;
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.product-options-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.product-options-chip {
    padding: 0.5rem 0.85rem;
    border-radius: 10px;
    border: 2px solid var(--light-gray);
    background: var(--white);
    color: var(--text-primary);
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.product-options-chip:hover {
    border-color: var(--primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
}

.product-options-chip.active {
    border-color: var(--primary, #2563eb);
    background: var(--primary, #2563eb);
    color: white;
}

.product-options-chip .chip-price {
    opacity: 0.9;
    font-size: 0.8em;
}

.product-options-switch-section .product-options-label {
    margin-bottom: 0.35rem;
}

.product-options-switch-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product-options-switch-list .app-switch-row {
    margin: 0;
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
    transition: background 0.15s;
}

.product-options-switch-list .app-switch-row:hover {
    background: rgba(255, 255, 255, 0.7);
}

.product-options-portion-row {
    width: 100%;
    border: 0;
    text-align: left;
    background: transparent;
}

.product-options-opt-stock {
    font-size: 0.82em;
    opacity: 0.75;
    font-weight: 500;
}
/* Yarı mamul üretim modalı */
.products-admin-prep-overlay {
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.products-admin-prep-modal.modal-content {
    width: min(96vw, 1180px);
    max-width: min(96vw, 1180px);
    height: min(88vh, 720px);
    max-height: min(88vh, 720px);
    min-height: min(72vh, 560px);
    border-radius: 12px;
    background: #eef1f4;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.products-admin-prep-modal .modal-header {
    border-radius: 12px 12px 0 0;
}
.products-admin-prep-modal .modal-footer {
    border-radius: 0 0 12px 12px;
    background: #eef1f4;
    border-top: 1px solid #dde2e8;
}
.products-admin-prep-modal .modal-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
    background: #e8ecf0;
    padding: 14px 16px;
}
.products-admin-prep-arena {
    flex: 1;
    min-height: 0;
    height: 100%;
}
.products-admin-prep-arena--loading .products-admin-prep-workspace {
    display: flex;
    align-items: center;
    justify-content: center;
}
.products-admin-prep-arena-loading-inner {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}
.products-admin-prep-list-search {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 8px 6px;
    flex-shrink: 0;
    border-bottom: 1px solid var(--border-color, #e8e8e8);
    background: var(--white, #fff);
}
.products-admin-prep-list-search .products-admin-recipe-search-input {
    flex: 1;
    min-width: 0;
}
.products-admin-prep-wide-layout {
    display: grid;
    grid-template-columns: minmax(180px, 220px) 1fr;
    gap: 14px;
    height: 100%;
    min-height: 0;
    align-items: stretch;
}
.products-admin-prep-list--side {
    max-height: 100%;
    overflow: auto;
    background: var(--white, #fff);
    border: 1px solid #d8dee6;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.products-admin-prep-workspace {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: var(--white, #fff);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    height: 100%;
}
.products-admin-prep-output-row {
    margin-bottom: 8px;
    flex-shrink: 0;
}
.products-admin-prep-output-row--inline {
    display: flex;
    align-items: center;
    gap: 8px;
}
.products-admin-prep-output-row--inline .products-admin-prep-qty-label {
    margin: 0;
    flex-shrink: 0;
    white-space: nowrap;
}
.products-admin-prep-output-row--inline .products-admin-prep-qty-input {
    flex: 1;
    min-width: 0;
    margin: 0;
}
.products-admin-prep-inputs-block {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.products-admin-prep-material-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    flex-shrink: 0;
}
.products-admin-prep-material-toolbar .products-admin-prep-material-search {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}
.products-admin-prep-toolbar-btns {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.products-admin-prep-compact-btn,
.products-admin-prep-icon-btn {
    min-width: 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.products-admin-prep-tool-btn {
    height: 34px;
    min-width: 34px;
    width: auto;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}
.products-admin-prep-tool-btn i {
    font-size: 0.85rem;
}
.products-admin-prep-compact-btn i,
.products-admin-prep-icon-btn i {
    font-size: 0.85rem;
}
.products-admin-prep-input-lines {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-height: 72px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}
.products-admin-prep-input-line {
    display: grid;
    grid-template-columns: 1fr 88px 72px 32px;
    gap: 6px;
    align-items: center;
}
.products-admin-prep-input-name {
    font-size: 0.88rem;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.products-admin-prep-fire-tag {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
}
.products-admin-prep-input-qty,
.products-admin-prep-input-birim,
.products-admin-prep-input-fire {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.88rem;
}
.products-admin-prep-input-fire {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.products-admin-prep-inputs-empty,
.products-admin-prep-pick-hint {
    margin: 0;
    padding: 8px;
    color: #64748b;
    font-size: 0.85rem;
    align-self: center;
}
.products-admin-prep-body {
    flex: 1;
    min-height: 0;
}
.products-admin-prep-toolbar {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
    align-items: center;
}
.products-admin-prep-toolbar .products-admin-recipe-search-input {
    flex: 1;
}
.products-admin-prep-layout {
    display: grid;
    grid-template-columns: 1fr minmax(200px, 240px);
    gap: 16px;
    min-height: 220px;
}
.products-admin-prep-list {
    overflow: auto;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: var(--border-radius, 8px);
    background: var(--lighter-gray, #f8f9fa);
}
.products-admin-prep-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-bottom: 1px solid #f1f3f5;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.products-admin-prep-item:hover,
.products-admin-prep-item.active {
    background: rgba(34, 197, 94, 0.08);
}
.products-admin-prep-item-name {
    font-weight: 600;
    color: #0f172a;
}
.products-admin-prep-item-meta {
    font-size: 0.82rem;
    color: #64748b;
}
.products-admin-prep-empty,
.products-admin-prep-loading {
    padding: 16px;
    color: #64748b;
    font-size: 0.9rem;
}
.products-admin-prep-empty--cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    padding: 20px 12px;
}
.products-admin-prep-empty--cta p {
    margin: 0;
}
.products-admin-prep-create {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 18px 20px;
    height: 100%;
    min-height: 0;
    overflow: auto;
    box-sizing: border-box;
}
.products-admin-prep-create-head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.products-admin-prep-create-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
    line-height: 1.3;
}
.products-admin-prep-create-hint {
    margin: 0;
    font-size: 0.82rem;
    color: var(--text-muted, #64748b);
    line-height: 1.4;
}
.products-admin-prep-create-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
    align-content: start;
}
.products-admin-prep-create-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    margin: 0;
}
.products-admin-prep-create-field--full {
    grid-column: 1 / -1;
}
.products-admin-prep-create-field > span {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted, #64748b);
    letter-spacing: 0.01em;
}
.products-admin-prep-create-field > span em {
    font-style: normal;
    color: #dc2626;
    margin-left: 2px;
}
.products-admin-prep-create-field .products-admin-recipe-search-input,
.products-admin-prep-create-field .products-admin-prep-create-select {
    width: 100%;
    min-width: 0;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    background: var(--white, #fff);
    color: var(--text-primary, #0f172a);
    font-size: 0.9rem;
    line-height: 1.2;
}
.products-admin-prep-create-field .products-admin-prep-create-select {
    cursor: pointer;
    appearance: auto;
}
.products-admin-prep-create-field .products-admin-recipe-search-input:focus,
.products-admin-prep-create-field .products-admin-prep-create-select:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.products-admin-prep-create-note {
    display: block;
    margin-top: 2px;
    font-size: 0.78rem;
    color: #b45309;
}
.products-admin-prep-create-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--border-color, #e2e8f0);
}
.products-admin-prep-create-actions .btn {
    min-height: 38px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.products-admin-prep-pick-create {
    margin-top: 4px;
}
.products-admin-prep-form h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}
.products-admin-prep-qty-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.85rem;
    color: #64748b;
}
.products-admin-prep-qty-input {
    width: 100%;
}
.products-admin-prep-run-btn {
    flex-shrink: 0;
    margin-top: auto;
}
.products-admin-prep-material-search {
    position: relative;
}

.products-admin-kind-seg,
.catalog-kind-seg {
    display: flex;
    gap: 4px;
    padding: 4px;
    box-sizing: border-box;
    border: 1px solid var(--border-color, #d0d7de);
    border-radius: 12px;
    background: var(--bg-secondary, #f1f5f9);
    overflow: hidden;
    max-width: 28rem;
}
.products-admin-kind-seg {
    max-width: 22rem;
}
.catalog-kind-seg.iwqp-catalog-tabs,
.iwqp-catalog-tabs.catalog-kind-seg {
    max-width: none;
    width: 100%;
    flex-shrink: 0;
}
.modal-container--invoice-quick-create .catalog-kind-seg {
    margin-bottom: 0.75rem;
}
.products-admin-kind-seg-btn,
.catalog-kind-seg-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.45rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    padding: 0.45rem 0.85rem;
    font-size: 0.875rem;
    font-weight: 700;
    font-family: inherit;
    color: var(--text-secondary);
    cursor: pointer;
    line-height: 1.2;
    white-space: nowrap;
}
.products-admin-kind-seg-btn + .products-admin-kind-seg-btn,
.catalog-kind-seg-btn + .catalog-kind-seg-btn {
    border-left: 0;
}
.products-admin-kind-seg-btn i,
.catalog-kind-seg-btn i {
    font-size: 0.95rem;
    opacity: 0.88;
}
.products-admin-kind-seg-btn.active,
.catalog-kind-seg-btn.active {
    background: var(--nav-bg, var(--primary, #d01c42));
    color: #fff;
    box-shadow: 0 1px 3px color-mix(in srgb, var(--nav-bg, #d01c42) 32%, transparent);
}
.modal-container--invoice-quick-create .catalog-kind-seg-btn.active,
.modal-container--invoice-quick-products .catalog-kind-seg-btn.active {
    background: linear-gradient(135deg, #66bb6a 0%, #43a047 100%);
    color: #fff;
    box-shadow: 0 1px 3px rgba(67, 160, 71, 0.38);
}
.products-admin-kind-seg-btn.active i,
.catalog-kind-seg-btn.active i {
    opacity: 1;
}
.theme-dark .products-admin-kind-seg,
.theme-dark .catalog-kind-seg {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .products-admin-kind-seg-btn,
.theme-dark .catalog-kind-seg-btn {
    color: var(--text-secondary, #c5c9ce);
}
.products-admin-prep-quick-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    padding: 6px 8px 8px;
    border-bottom: 1px solid #e8e8e8;
    background: #fff;
}
.products-admin-prep-quick-bar > .btn {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 4px;
    padding-right: 4px;
    font-size: 0.72rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.products-admin-prep-quick-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.products-admin-prep-quick-tab {
    border: 1px solid #d0d7de;
    background: #fff;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary);
    cursor: pointer;
}
.products-admin-prep-quick-tab.active {
    border-color: var(--nav-bg, var(--primary));
    background: color-mix(in srgb, var(--nav-bg, var(--primary)) 10%, #fff);
    color: var(--text-primary);
}
.products-admin-prep-inline-group {
    display: flex;
    gap: 6px;
    margin-top: 6px;
    align-items: center;
}
.products-admin-prep-inline-group .products-admin-recipe-search-input {
    flex: 1;
    min-width: 0;
}

/* Üretim istasyonu — profesyonel girdi → çıkan */
.products-admin-prep-station-rail {
    background: var(--white, #fff);
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-right: none;
}
.products-admin-prep-station-rail.products-admin-prep-list--side {
    overflow: hidden;
}
.products-admin-prep-station-rail-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    padding: 8px 12px 6px;
}
.products-admin-prep-station-item {
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-left: 3px solid transparent;
    text-align: left;
}
.products-admin-prep-station-item:hover {
    background: #f3f5f7 !important;
}
.products-admin-prep-station-item.active {
    border-left-color: var(--nav-bg, var(--primary));
    background: color-mix(in srgb, var(--nav-bg, var(--primary)) 8%, var(--white)) !important;
}
.products-admin-prep-station-item .products-admin-prep-item-name {
    flex: 1;
    min-width: 0;
}
.products-admin-prep-station-stock {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}
.products-admin-prep-station-main {
    position: relative;
    background: var(--white, #fff);
    border: none;
    border-radius: 12px;
    padding: 16px;
    overflow: hidden;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.products-admin-prep-station-output {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    align-items: flex-start;
    justify-content: space-between;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f7f9fb 0%, #f1f4f7 100%);
    border: 1px solid #e2e7ec;
    flex-shrink: 0;
}
.products-admin-prep-station-output-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}
.products-admin-prep-station-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
}
.products-admin-prep-station-output-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    min-width: 0;
}
.products-admin-prep-station-quick {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.products-admin-prep-station-quick-btn {
    height: 30px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.products-admin-prep-station-quick-btn i {
    font-size: 0.75rem;
}
.products-admin-prep-station-mode {
    font-size: 0.75rem;
    color: var(--text-muted);
}
.products-admin-prep-station-output-qty {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 220px;
}
.products-admin-prep-station-qty-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}
.products-admin-prep-station-qty-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.products-admin-prep-station-qty-input {
    width: 110px;
    font-weight: 600;
    text-align: right;
}
.products-admin-prep-station-unit {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 2.5rem;
}
.products-admin-prep-scale-btn {
    white-space: nowrap;
}
.products-admin-prep-scale-live {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--text-muted);
}
.products-admin-prep-scale-live.is-on {
    color: var(--text-secondary);
}
.products-admin-prep-scale-live.is-unstable {
    color: #b45309;
}
.products-admin-prep-station-inputs {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f7f8fa;
    border: 1px solid #e2e7ec;
}
.products-admin-prep-station-inputs-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.products-admin-prep-station-inputs-head > span:first-child {
    font-weight: 700;
    font-size: 0.9rem;
}
.products-admin-prep-station-inputs-hint {
    font-size: 0.78rem;
    color: var(--text-muted);
}
.products-admin-prep-station-lines {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.products-admin-prep-station-line-head {
    display: grid;
    grid-template-columns: 1fr 64px 88px 72px 28px;
    gap: 8px;
    padding: 0 8px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
}
.products-admin-prep-station-line {
    display: grid !important;
    grid-template-columns: 1fr 64px 88px 72px 28px !important;
    align-items: center;
    gap: 8px;
    padding: 8px 10px !important;
    border-radius: 9px;
    border: 1px solid #e8ecf0;
    background: var(--white, #fff);
}
.products-admin-prep-station-line.is-ready {
    border-color: rgba(46, 125, 50, 0.35);
    background: rgba(46, 125, 50, 0.04);
}
.products-admin-prep-station-empty {
    flex: 1;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.9rem;
    border: 1px dashed #d0d7de;
    border-radius: 10px;
    background: #f7f8fa;
}
.products-admin-prep-station-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    flex-shrink: 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f4f6f8;
    border: 1px solid #e2e7ec;
}
.products-admin-prep-station-summary {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}
.products-admin-prep-station-status {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
}
.products-admin-prep-station-status.is-ready {
    color: var(--success);
}
.products-admin-prep-station-cost {
    font-size: 0.8rem;
    color: var(--text-muted);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
}
.products-admin-prep-station-cost strong {
    color: var(--text-primary);
    font-size: 0.95rem;
}
.products-admin-prep-station-cost-unit {
    color: var(--text-muted);
}
.products-admin-prep-station-run {
    flex-shrink: 0;
    min-width: 132px;
    min-height: 48px;
    font-weight: 600;
    padding: 10px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
}
.products-admin-prep-station-pick {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 600;
    color: var(--text-muted);
    font-size: 0.95rem;
}
.products-admin-prep-station-pick i {
    font-size: 1.25rem;
    opacity: 0.45;
}

/* Yarı mamul üretim — oyunumsu içerik, standart modal kabuğu (eski sınıflar; geriye uyum) */
.products-admin-prep-game-header-icon {
    margin-right: 8px;
    opacity: 0.92;
}
.products-admin-prep-game-inventory {
    background: var(--lighter-gray, #f8f9fa);
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.products-admin-prep-list-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
.products-admin-prep-list--side {
    max-height: 100%;
    overflow: auto;
    flex: 1;
    min-height: 0;
}
.products-admin-prep-game-inventory.products-admin-prep-list--side {
    overflow: hidden;
}
.products-admin-prep-game-inventory-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding: 8px 10px 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.products-admin-prep-game-loot {
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-left: 3px solid transparent;
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.products-admin-prep-game-loot:hover {
    transform: translateX(2px);
    background: rgba(0, 0, 0, 0.03) !important;
}
.products-admin-prep-game-loot.active {
    border-left-color: var(--nav-bg, var(--primary));
    background: color-mix(in srgb, var(--nav-bg, var(--primary)) 10%, var(--white)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nav-bg, var(--primary)) 18%, transparent);
}
.products-admin-prep-game-loot-icon {
    width: 28px;
    height: 28px;
    border-radius: var(--border-radius, 6px);
    background: color-mix(in srgb, var(--primary) 12%, var(--white));
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.75rem;
}
.products-admin-prep-game-loot .products-admin-prep-item-name {
    flex: 1;
    min-width: 0;
    color: var(--text-primary);
}
.products-admin-prep-game-loot-badge {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--success);
    background: color-mix(in srgb, var(--success) 14%, var(--white));
    border-radius: 999px;
    padding: 2px 8px;
    flex-shrink: 0;
}
.products-admin-prep-game-station {
    position: relative;
    background: var(--white);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: var(--border-radius, 8px);
    padding: 12px;
    overflow: hidden;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.products-admin-prep-game-xp-pct {
    color: var(--text-secondary);
    font-weight: 700;
}
.products-admin-prep-game-xp-pct--done {
    color: var(--success);
}
.products-admin-prep-game-xp-track {
    height: 8px;
    border-radius: 999px;
    background: var(--light-gray, #e7e7e7);
    overflow: hidden;
}
.products-admin-prep-game-xp-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #f59e0b 0%, #eab308 28%, #84cc16 62%, var(--success) 100%);
    transition: width 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.products-admin-prep-game-xp {
    flex-shrink: 0;
}
.products-admin-prep-game-footer {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-top: auto;
    flex-shrink: 0;
    padding-top: 8px;
}
.products-admin-prep-game-footer-progress {
    flex: 1;
    min-width: 0;
}
.products-admin-prep-game-footer .products-admin-prep-game-xp-label {
    margin-bottom: 4px;
}
.products-admin-prep-game-craft-btn {
    width: auto;
    min-width: 118px;
    flex-shrink: 0;
    margin-top: 0;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 11px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: stretch;
    min-height: 44px;
}
.products-admin-prep-game-craft-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.products-admin-prep-game-xp-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 4px;
}
.products-admin-prep-game-sparkles {
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 5;
}
@keyframes prep-game-sparkle {
    0% { opacity: 1; transform: rotate(calc(var(--i) * 30deg)) translateY(0) scale(1); }
    100% { opacity: 0; transform: rotate(calc(var(--i) * 30deg)) translateY(-120px) scale(0); }
}
.products-admin-prep-game-target {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    margin-bottom: 10px;
    border-radius: var(--border-radius, 8px);
    background: var(--lighter-gray, #f8f9fa);
    border: 1px solid var(--border-color, #e2e8f0);
    flex-shrink: 0;
}
.products-admin-prep-game-target--row {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #eff6ff 0%, #f0f9ff 55%, #f8fafc 100%);
    border: 1px solid #bfdbfe;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.products-admin-prep-game-target--row .products-admin-prep-game-target-name {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e3a5f;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.products-admin-prep-game-target-qty {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.products-admin-prep-game-target-qty .products-admin-prep-game-qty-input {
    width: 88px;
    min-width: 72px;
    max-width: 110px;
    font-weight: 600;
    text-align: center;
}
.products-admin-prep-game-target-qty .products-admin-prep-game-unit {
    font-size: 0.82rem;
    font-weight: 600;
    color: #475569;
    white-space: nowrap;
}
.products-admin-prep-game-pick--fill {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 600;
    color: var(--text-muted);
    font-size: 0.95rem;
}
.products-admin-prep-game-pick--fill i {
    font-size: 1.5rem;
    opacity: 0.5;
}
.products-admin-prep-game-target-body {
    flex: 1;
    min-width: 0;
}
.products-admin-prep-game-target-name {
    display: block;
    font-weight: 600;
    font-size: 0.92rem;
    color: var(--text-primary);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.products-admin-prep-game-unit {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-muted);
    flex-shrink: 0;
}
.products-admin-prep-game-qty-input {
    max-width: 100px;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
}
.products-admin-prep-game-slots-empty {
    flex: 1;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 500;
    border: 1px dashed var(--border-color, #e2e8f0);
    border-radius: var(--border-radius, 8px);
    background: var(--lighter-gray, #f8f9fa);
}
.products-admin-prep-game-slot {
    grid-template-columns: 28px 1fr 72px 64px 28px !important;
    padding: 6px 8px;
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--white);
    transition: border-color 0.2s ease, background 0.2s ease;
}
.products-admin-prep-game-slot--ready {
    border-color: color-mix(in srgb, var(--success) 55%, var(--border-color));
    background: color-mix(in srgb, var(--success) 6%, var(--white));
}
.products-admin-prep-game-slot--ready .products-admin-prep-game-slot-icon {
    background: var(--success);
    color: var(--white);
}
.products-admin-prep-game-slot-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--light-gray, #e7e7e7);
    color: var(--text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    transition: background 0.2s ease, color 0.2s ease;
}
.products-admin-prep-game-tool-btn {
    border-radius: var(--border-radius, 6px) !important;
    background: var(--white) !important;
}
.products-admin-prep-auto-block {
    flex-shrink: 0;
    margin-bottom: 8px;
    padding: 10px 12px;
    border-radius: var(--border-radius, 8px);
    border: 1px dashed #93c5fd;
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
}
.products-admin-prep-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: nowrap;
    padding: 10px 16px;
    border-top: 1px solid var(--border-color, #e2e8f0);
    background: var(--white, #fff);
}
.products-admin-prep-modal-footer--simple {
    justify-content: flex-end;
}
.products-admin-prep-footer-auto {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
    padding: 6px 10px;
    border-radius: var(--border-radius, 8px);
    border: 1px dashed #93c5fd;
    background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
}
.products-admin-prep-footer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.products-admin-prep-auto-toggle--compact {
    margin: 0;
    flex-shrink: 0;
}
.products-admin-prep-auto-toggle--compact .app-switch-label {
    font-size: 0.84rem;
    white-space: nowrap;
}
.products-admin-prep-auto-time--compact {
    width: 108px;
    min-width: 96px;
    flex-shrink: 0;
}
.products-admin-prep-auto-last-inline {
    font-size: 0.78rem;
    color: #0369a1;
    font-weight: 600;
    white-space: nowrap;
}
.products-admin-prep-auto-save--compact {
    width: auto;
    min-width: 0;
    padding: 4px 10px;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.products-admin-prep-auto-save-text {
    font-weight: 600;
}
.products-admin-prep-auto-toggle {
    margin-bottom: 8px;
}
.products-admin-prep-auto-toggle .app-switch-label {
    font-weight: 600;
    font-size: 0.88rem;
    color: #1e40af;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.products-admin-prep-auto-fields {
    margin-bottom: 8px;
}
.products-admin-prep-auto-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.products-admin-prep-auto-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #475569;
    min-width: 36px;
}
.products-admin-prep-auto-time {
    width: 120px;
    min-width: 100px;
}
.products-admin-prep-auto-hint,
.products-admin-prep-auto-last {
    margin: 0 0 6px;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.4;
}
.products-admin-prep-auto-last {
    color: #0369a1;
    font-weight: 600;
}
.products-admin-prep-auto-save {
    width: 100%;
}
.products-admin-prep-auto-badge {
    color: #2563eb;
    font-size: 0.75rem;
    flex-shrink: 0;
}
.products-admin-prep-game-craft-btn.btn-success {
    animation: prep-game-pulse 1.6s ease-in-out infinite;
}
@keyframes prep-game-pulse {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.05); }
}
.products-admin-prep-game-sparkle {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
    top: 50%;
    left: 50%;
    animation: prep-game-sparkle 1.8s ease-out forwards;
    animation-delay: calc(var(--i) * 0.05s);
    transform: rotate(calc(var(--i) * 30deg)) translateY(0);
}
.reports-prep-page .filter-input,
.reports-prep-page input[type="date"],
.reports-prep-page input[type="search"],
.reports-prep-page input[type="number"],
.reports-prep-page input[type="text"] {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius, 8px);
    font-size: 0.8rem;
    font-family: inherit;
    background-color: var(--card-bg, var(--white, #fff));
    color: var(--text-primary);
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
    box-sizing: border-box;
}
.reports-prep-page .filter-input:hover,
.reports-prep-page input[type="date"]:hover,
.reports-prep-page input[type="search"]:hover,
.reports-prep-page input[type="number"]:hover,
.reports-prep-page input[type="text"]:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 4px rgba(255, 23, 68, 0.08);
}
.reports-prep-page .filter-input:focus,
.reports-prep-page input[type="date"]:focus,
.reports-prep-page input[type="search"]:focus,
.reports-prep-page input[type="number"]:focus,
.reports-prep-page input[type="text"]:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.12);
}
.reports-prep-toolbar { margin-bottom: 12px; }
.reports-prep-period-extra {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border-color, #e8e8e8);
}
.reports-prep-search-group {
    flex: 1 1 220px;
    min-width: 180px;
}
.reports-prep-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.reports-prep-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.reports-prep-card {
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 12px;
    background: var(--white, #fff);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.reports-prep-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
    border-bottom: 1px solid var(--border-color, #eef0f2);
}
.reports-prep-section-title {
    font-size: 0.95rem;
    margin: 0;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-primary);
}
.reports-prep-section-title i {
    color: var(--primary);
    opacity: 0.9;
}
.reports-prep-card-hint {
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}
.reports-prep-filter-tag {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}
.reports-prep-table-scroll {
    overflow: auto;
    max-height: min(42vh, 360px);
}
.reports-prep-summary-wrap .reports-prep-table-scroll {
    max-height: min(36vh, 280px);
}
.reports-prep-table th {
    white-space: nowrap;
    font-size: 0.78rem;
}
.reports-prep-table td {
    font-size: 0.84rem;
    vertical-align: middle;
}
.reports-prep-summary-row {
    cursor: pointer;
    transition: background 0.15s ease;
}
.reports-prep-summary-row:hover {
    background: rgba(245, 158, 11, 0.06);
}
.reports-prep-row-selected {
    background: rgba(245, 158, 11, 0.12) !important;
}
.reports-prep-product-name {
    font-weight: 600;
    color: var(--text-primary);
}
.reports-prep-unit {
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}
.reports-prep-raf-input {
    width: 72px;
    min-width: 72px;
    max-width: 88px;
}
.reports-prep-last-cell {
    white-space: nowrap;
}
.reports-prep-date-cell {
    white-space: nowrap;
}
.reports-prep-date {
    display: block;
    font-weight: 600;
}
.reports-prep-time {
    display: block;
    font-size: 0.76rem;
    color: var(--text-muted, #6b7280);
}
.reports-prep-expiry { font-size: 0.85em; color: var(--text-muted, #6b7280); }
.reports-prep-expiry--warn { color: #d97706; font-weight: 600; }
.reports-prep-expiry--expired { color: #dc2626; font-weight: 600; }
.reports-prep-inputs-cell {
    max-width: 320px;
    min-width: 180px;
}
.reports-prep-input-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 3px 6px 3px 0;
    padding: 4px 8px;
    border-radius: 8px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    font-size: 0.78rem;
    line-height: 1.2;
}
.reports-prep-input-chip-name {
    font-weight: 600;
    color: #92400e;
}
.reports-prep-input-chip-qty {
    color: #78350f;
    opacity: 0.9;
}
.reports-prep-notes-cell {
    max-width: 160px;
    color: var(--text-muted, #6b7280);
    font-size: 0.8rem;
}
.reports-prep-waste-modal {
    max-width: 420px;
}
.reports-prep-waste-intro {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    font-size: 0.9rem;
}
.reports-prep-waste-modal .form-group {
    margin-bottom: 12px;
}
.reports-prep-waste-modal .form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
}
.reports-prep-waste-btn {
    min-width: 34px;
}
.recipe-yari-mamul-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-muted, #64748b);
    cursor: pointer;
}
.recipe-yari-mamul-check input {
    width: 1rem;
    height: 1rem;
}
.recipe-yari-mamul-switch {
    margin: 0;
    width: fit-content;
}
.recipe-modal-footer-actions .recipe-yari-mamul-switch .app-switch-label {
    font-size: 0.88rem;
}
/* Stok durumu / stok girişi — tablo sütunları için geniş modal */
.products-admin-stock-modal.modal-content {
    width: min(96vw, 1180px);
    max-width: min(96vw, 1180px);
    border-radius: 12px;
}
.products-admin-stock-modal .modal-header {
    border-radius: 12px 12px 0 0;
    border-bottom: none;
}
.products-admin-stock-modal .modal-body {
    padding: 16px 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.products-admin-stock-modal .modal-footer {
    border-radius: 0 0 12px 12px;
}
.products-admin-stock-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.products-admin-stock-zero-btn {
    flex: 0 0 auto;
}
.products-admin-stock-count {
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
}
.products-admin-stock-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.products-admin-stock-toolbar-end {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.products-admin-stock-hint {
    margin: 0 0 10px;
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}
.products-admin-stock-onhand {
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
}
.products-admin-stock-col-qty,
.products-admin-stock-col-num,
.products-admin-stock-col-actions {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}
.products-admin-stock-table .stk-qty-input,
.stk-loc-grid .stk-qty-input {
    width: 4.4rem;
    max-width: 4.4rem;
}
.products-admin-stock-refresh {
    width: 2.35rem;
    min-width: 2.35rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.products-admin-stock-low-filter {
    margin: 0;
}
.products-admin-stock-table-wrap {
    max-height: min(65vh, 560px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 10px;
    background: #fafbfc;
}
.products-admin-stock-modal .products-admin-recipe-table {
    min-width: 720px;
}
.products-admin-stock-modal .products-admin-stock-table th,
.products-admin-stock-modal .products-admin-stock-table td {
    white-space: nowrap;
    border-bottom: 1px solid #f1f3f5;
}
.products-admin-stock-modal .products-admin-stock-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f6f7f9;
    color: #6b7280;
    font-weight: 600;
    border-bottom: 1px solid #eceef1;
    box-shadow: 0 1px 0 #eceef1;
}
.products-admin-stock-modal .products-admin-stock-table {
    border-collapse: separate;
    border-spacing: 0;
}
.products-admin-stock-modal .products-admin-stock-table th.products-admin-stock-col-num,
.products-admin-stock-modal .products-admin-stock-table td.products-admin-stock-onhand,
.products-admin-stock-modal .products-admin-stock-table th.products-admin-stock-col-qty,
.products-admin-stock-modal .products-admin-stock-table td.products-admin-stock-col-qty,
.products-admin-stock-modal .products-admin-stock-table th.products-admin-stock-col-actions,
.products-admin-stock-modal .products-admin-stock-table td.products-admin-stock-col-actions {
    text-align: right;
}
.products-admin-stock-modal .products-admin-stock-table .stk-qty-cell {
    width: 100%;
}
.products-admin-stock-modal .products-admin-stock-table td:first-child {
    white-space: normal;
    min-width: 140px;
    max-width: 280px;
}
.products-admin-stock-modal .modal-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border-top: 1px solid #f0f2f5;
}
.products-admin-stock-dirty-hint {
    font-size: 0.875rem;
    color: #94a3b8;
    font-weight: 500;
}

/* Ürünler > Transfer — gelen transferler (alt şube ekranı) */
.products-admin-transfer-modal.modal-content {
    width: min(98vw, 1280px);
    max-width: min(98vw, 1280px);
    max-height: min(92vh, 900px);
    display: flex;
    flex-direction: column;
    border-radius: 12px;
}
.products-admin-transfer-modal .modal-header {
    border-radius: 12px 12px 0 0;
    flex-shrink: 0;
}
.products-admin-transfer-modal .modal-body.products-admin-transfer-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 12px 16px 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.products-admin-transfer-modal .modal-footer {
    border-radius: 0 0 12px 12px;
    flex-shrink: 0;
}
.products-admin-stx-embed.stx-shell {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}
.products-admin-stx-embed .stx-grid-2 {
    flex: 1;
    min-height: 0;
}

.products-admin-stock-group-header td {
    background: #f3f4f6;
    color: #4b5563;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 8px 12px;
    border-top: none;
    border-bottom: 1px solid #eceef1;
}
.products-admin-stock-group-header:first-child td {
    border-top: none;
}
.products-admin-stock-group-header .products-admin-stock-group-count {
    font-weight: 500;
    color: #9ca3af;
    margin-left: 4px;
}
.products-admin-stock-group-header .fa-folder-open {
    opacity: 0.55;
    margin-right: 6px;
}
.products-admin-stock-table tbody tr.products-admin-stock-data-row td {
    background: #fff;
}
.products-admin-stock-table tbody tr.products-admin-stock-data-row.stock-row-dirty td {
    background-color: rgba(34, 197, 94, 0.04);
    box-shadow: inset 2px 0 0 rgba(34, 197, 94, 0.35);
}
.products-admin-stock-table tbody tr.products-admin-stock-data-row:hover td {
    background-color: #f8fafc;
}
.products-admin-stock-table td.products-admin-stock-onhand .stk-loc-qty-btn {
    width: 100%;
}
.products-admin-stock-loading {
    padding: 24px;
    text-align: center;
    color: var(--text-muted, #6b7280);
}
.product-options-portion-row.active {
    background: rgba(34, 197, 94, 0.10);
}

.product-options-switch-list--two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 1rem;
}

.product-options-switch-list--two-col .app-switch-row {
    padding: 0.25rem 0.5rem;
    border-radius: 8px;
    border: none;
}

.product-options-switch-list--two-col .app-switch-row:hover {
    background: rgba(255, 255, 255, 0.7);
}

.product-options-switch-list--three-col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2px 0.75rem;
}

.product-options-switch-list--three-col .app-switch-row {
    padding: 0.25rem 0.45rem;
    border-radius: 8px;
    border: none;
}

.product-options-switch-list--three-col .app-switch-row:hover {
    background: rgba(255, 255, 255, 0.7);
}

@media (max-width: 900px) {
    .product-options-modal-card--ultra-wide {
        max-width: 680px;
    }
    .product-options-switch-list--three-col {
        grid-template-columns: 1fr 1fr;
        gap: 2px 1rem;
    }
}

.product-options-opt-price {
    font-size: 0.8em;
    color: var(--text-muted);
    font-weight: 500;
    margin-left: 0.2rem;
}
.product-options-opt-price--plus {
    color: var(--success, #4CAF50);
    font-weight: 600;
}
.product-options-opt-price--minus {
    color: #c62828;
    font-weight: 600;
}

.product-options-quantity-row {
    margin-bottom: 1rem;
}

.product-options-numpad-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.product-options-quantity-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.product-options-qty-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border: 2px solid var(--light-gray);
    border-radius: 10px;
    background: var(--white);
    color: var(--text-primary);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
.product-options-qty-btn:hover:not(:disabled) {
    border-color: var(--primary);
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
}
.product-options-qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.product-options-quantity-controls .product-options-quantity-input {
    flex: 1;
    min-width: 0;
}

.product-options-quantity-input {
    width: 100%;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary, #2563eb);
    padding: 0.65rem 0.5rem;
    border: 2px solid var(--light-gray);
    border-radius: 12px;
    background: #f8fafc;
    box-sizing: border-box;
    cursor: pointer;
    line-height: 1.2;
}

.product-options-quantity-input::placeholder {
    color: var(--text-muted);
}

.product-options-mix-qty {
    flex: 0 0 auto;
    gap: 0.35rem;
}

.product-options-mix-qty .product-options-qty-btn {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 0.8rem;
}

.product-options-mix-qty .product-options-mix-qty-input {
    width: 3.25rem;
    min-width: 3rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.35rem 0.25rem;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}
.product-options-mix-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
    margin-bottom: 0.5rem;
}
.product-options-mix-head .product-options-label {
    margin-bottom: 0;
}
.product-options-mix-hint {
    font-size: 0.78rem;
    color: var(--text-muted);
    font-weight: 500;
}
.product-options-mix-counter {
    margin-left: auto;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--primary);
    font-variant-numeric: tabular-nums;
}

.product-options-numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.product-options-numpad .numpad-btn {
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    border: 2px solid var(--light-gray);
    border-radius: 10px;
    background: var(--white);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.product-options-numpad .numpad-btn:hover {
    border-color: var(--primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
}

.product-options-numpad .numpad-clear,
.product-options-numpad .numpad-plus {
    font-size: 1rem;
    color: var(--text-secondary);
}

.product-options-modal-footer {
    flex-shrink: 0;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--light-gray);
    background: var(--white);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.product-options-footer-total {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--primary);
}

.product-options-add-btn {
    padding: 0.6rem 1.25rem;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--success, #22c55e), #16a34a);
    color: white;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: opacity 0.2s, background 0.2s;
}

.product-options-unit-price-input {
    width: 100%;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--success, #16a34a);
    padding: 0.65rem 0.5rem;
    border: 2px solid var(--light-gray);
    border-radius: 12px;
    background: #f8fafc;
    box-sizing: border-box;
    cursor: pointer;
    line-height: 1.2;
}

.product-options-unit-price-input::placeholder {
    color: var(--text-muted);
    font-weight: 600;
    opacity: 0.85;
}

.product-options-quantity-input.product-options-input-active,
.product-options-unit-price-input.product-options-input-active {
    outline: none;
    border-color: var(--primary, #2563eb);
    border-width: 3px;
    background: rgba(37, 99, 235, 0.08);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.22);
}

.product-options-unit-price-input.product-options-input-active {
    border-color: var(--success, #16a34a);
    background: rgba(22, 163, 74, 0.08);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.2);
}

.product-options-unit-price-row {
    margin-top: 0.25rem;
}

.product-options-checkbox-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.product-options-checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0;
    cursor: pointer;
}

.product-options-checkbox-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
}

.product-options-checkbox-row input[type="checkbox"]:disabled {
    cursor: not-allowed;
}

.product-options-checkbox-label {
    font-size: 0.9rem;
    color: var(--text-primary);
}

.product-options-add-btn:hover {
    opacity: 0.9;
}

.product-options-add-btn:active {
    opacity: 0.95;
}

/* Ürün aktar iç gövde: flex kolon (modal-body ile) */
.modal-body.product-transfer-body {
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
    flex: 1;
}

.transfer-product-select-table {
    flex: 1;
    overflow-y: auto;
}

.transfer-product-select-table h3 {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
    color: var(--text-primary);
}

.transfer-product-transfer {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.transfer-product-lists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    flex: 1;
    overflow: hidden;
    padding: 1rem;
}

.transfer-product-list {
    display: flex;
    flex-direction: column;
    border: 2px solid var(--light-gray);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white);
}

.transfer-product-list-header {
    padding: 0.5rem 1rem;
    background: var(--light-gray);
    border-bottom: 2px solid var(--border-color);
}

.transfer-product-list-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.transfer-product-list.source-list .transfer-product-list-header {
    background: rgba(33, 150, 243, 0.1);
    border-bottom-color: #2196F3;
}

.transfer-product-list.target-list .transfer-product-list-header {
    background: rgba(76, 175, 80, 0.1);
    border-bottom-color: var(--success);
}

.transfer-product-items {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem;
}

.transfer-product-list-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 0.85rem;
    border-top: 2px solid var(--border-color);
    background: var(--light-gray);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
    flex-shrink: 0;
}
.transfer-product-list-footer-amount {
    font-variant-numeric: tabular-nums;
}

.transfer-product-item {
    background: var(--light-gray);
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    cursor: move;
}

.transfer-product-item:hover {
    background: rgba(33, 150, 243, 0.1);
    border: 1px solid #2196F3;
}

.transfer-product-item.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.transfer-product-item.pending-transfer {
    background: rgba(255, 152, 0, 0.1);
    border: 1px solid #ff9800;
}

.transfer-product-item.existing-item {
    background: rgba(76, 175, 80, 0.05);
    border: 1px solid var(--success);
}

.transfer-product-item-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.transfer-product-item-info .item-name {
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.transfer-product-item-info .item-price {
    font-weight: 600;
    color: var(--primary);
    font-size: 1rem;
}

.transfer-product-item-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.transfer-product-item-actions .item-quantity {
    font-size: 0.9rem;
    color: var(--text-muted);
}

.btn-transfer-item {
    background: var(--primary);
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-transfer-item:hover:not(:disabled) {
    background: #e0143a;
    transform: translateY(-1px);
}

.btn-transfer-item:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-remove-transfer {
    background: var(--danger);
    color: white;
    border: none;
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-remove-transfer:hover {
    background: #d32f2f;
}

.transfer-product-actions {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--light-gray);
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    background: var(--light-gray);
}

.btn-cancel {
    background: var(--secondary);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-cancel:hover {
    background: #5a6268;
}

.btn-confirm {
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.btn-confirm:hover:not(:disabled) {
    transform: translateY(-1px);
}

.btn-confirm:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Hesaplar Sayfası: bekleyen açık adisyonlar */
.accounts-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1rem;
    overflow: hidden;
    position: relative;
    transition: padding-bottom 0.3s ease;
}
.accounts-view.has-actions-panel {
    padding-bottom: 100px;
}
.accounts-actions-panel {
    pointer-events: none;
}
.accounts-actions-panel .table-actions-buttons,
.accounts-actions-panel .action-btn {
    pointer-events: auto;
}
.accounts-platform-settle-bar {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    margin: 0 0 0.75rem;
    padding: 0.7rem 0.85rem 0.7rem 0.75rem;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 55%, #1a2332 100%);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.35);
    color: #f8fafc;
    cursor: pointer;
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.accounts-platform-settle-bar:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.45);
    filter: brightness(1.06);
}
.accounts-platform-settle-bar:disabled {
    opacity: 0.85;
    cursor: wait;
}
.accounts-platform-settle-bar__icon {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(251, 191, 36, 0.18);
    color: #fbbf24;
    font-size: 1rem;
}
.accounts-platform-settle-bar__text {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    flex: 1;
    font-size: 0.8rem;
    line-height: 1.3;
}
.accounts-platform-settle-bar__text strong {
    font-size: 0.92rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.01em;
}
.accounts-platform-settle-bar__text span {
    color: rgba(248, 250, 252, 0.78);
}
.accounts-platform-settle-bar__cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: #fbbf24;
    color: #1c1917;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}
.accounts-platform-settle-bar__cta i {
    font-size: 0.65rem;
}
.accounts-platform-settle-bar--busy .accounts-platform-settle-bar__cta {
    background: rgba(248, 250, 252, 0.14);
    color: #e2e8f0;
}
.accounts-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    flex-shrink: 0;
}
.accounts-filter-btn {
    flex: 1;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-primary);
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}
.accounts-filter-btn:hover {
    background: var(--light-gray, #f5f5f5);
    border-color: var(--primary);
}
.accounts-filter-btn.active {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-color: #70bf74;
    color: #367338;
    font-weight: bold;
}
.accounts-filter-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.accounts-filter-count {
    font-weight: 600;
    opacity: 0.95;
}
.accounts-filter-btn:not(.active) .accounts-filter-count {
    color: var(--text-secondary, #666);
}
.accounts-loading,
.accounts-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem;
    color: var(--text-secondary, #666);
}
.accounts-empty i,
.accounts-loading i {
    font-size: 2.5rem;
    opacity: 0.7;
}

/* Hesaplar: hiç açık adisyon yok — filtre şeridinin altında dikey ortalı */
.accounts-empty.accounts-empty--fill-page {
    flex: 1;
    min-height: 0;
}

.accounts-list-wrap {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
.accounts-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.accounts-list-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: var(--white);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.accounts-list-entry {
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: var(--border-radius);
}
.accounts-list-entry.selected .accounts-list-item,
.accounts-list-entry.selected .accounts-list-note {
    background: rgba(76, 175, 80, 0.1);
    border-color: var(--success);
}
.accounts-list-entry.selected .accounts-list-item {
    border-left: 4px solid var(--success);
}
.accounts-list-entry .accounts-list-item {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
}
.accounts-list-note {
    font-size: 0.72rem;
    color: var(--text-secondary, #666);
    padding: 0.25rem 0.75rem 0.45rem 2.85rem;
    background: var(--white);
    border: 1px solid var(--border-color, #e0e0e0);
    border-top: 1px dashed rgba(0, 0, 0, 0.08);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.accounts-list-note i {
    margin-right: 0.35rem;
    opacity: 0.75;
}
.accounts-list-entry:hover .accounts-list-item {
    background: rgba(76, 175, 80, 0.06);
    border-color: rgba(76, 175, 80, 0.5);
}
.accounts-list-entry:hover .accounts-list-note {
    background: rgba(76, 175, 80, 0.04);
    border-color: rgba(76, 175, 80, 0.5);
}
.accounts-list-item.accounts-list-row {
    flex-wrap: nowrap;
    min-height: 2.5rem;
}
.accounts-list-item:hover {
    background: rgba(76, 175, 80, 0.06);
    border-color: rgba(76, 175, 80, 0.5);
}
/* Seçili satır: program genelinde yeşil border + yeşilimsi arka plan (Çağrılar ile aynı) */
.accounts-list-item.selected {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid var(--success);
    border-color: var(--success);
}
.accounts-list-icon {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--light-gray, #f0f0f0);
    border-radius: var(--border-radius);
    color: var(--text-secondary, #666);
    flex-shrink: 0;
}
/* İkon rengi tip class'ı ile verilir (masa=yeşil, peşin=kırmızı, platform=kendi rengi, müşteri/telefon=mavi) */
.accounts-list-icon--masa { background: rgba(76, 175, 80, 0.18); color: var(--success, #4CAF50) !important; }
.accounts-list-icon--pesin { background: rgba(198, 40, 40, 0.12); color: var(--danger, #c62828) !important; }
.accounts-list-icon--yemeksepeti { background: rgba(250, 2, 80, 0.12); color: #FA0250 !important; }
.accounts-list-icon--getir { background: rgba(99, 69, 191, 0.15); color: #6345BF !important; }
.accounts-list-icon--trendyol { background: rgba(254, 106, 9, 0.15); color: #FE6A09 !important; }
.accounts-list-icon--customer,
.accounts-list-icon--other { background: rgba(33, 150, 243, 0.12); color: #2196F3 !important; }
.accounts-list-item.selected .accounts-list-icon {
    background: rgba(76, 175, 80, 0.2);
    color: var(--success) !important;
}
.accounts-list-payment-lock {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    min-width: 1.35rem;
    color: #ff9800;
    flex-shrink: 0;
    font-size: 0.85rem;
}
.accounts-list-fno {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9rem;
    min-width: 5rem;
    flex-shrink: 0;
}
.accounts-list-datetime {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
    flex-shrink: 0;
}
.accounts-list-type-badge {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    padding: 0.15rem 0.4rem;
    background: var(--light-gray, #eee);
    border-radius: 4px;
    min-width: 4.5rem;
    text-align: center;
    flex-shrink: 0;
}
.accounts-list-payment-method {
    font-size: 0.72rem;
    color: var(--text-primary, #333);
    padding: 0.12rem 0.45rem;
    background: rgba(255, 152, 0, 0.12);
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    max-width: 8.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
}
.accounts-list-massa {
    font-size: 0.875rem;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: bold;
    white-space: nowrap;
}
.accounts-list-pending-customer {
    flex-shrink: 0;
    color: var(--warning, #d97706);
    font-size: 0.85rem;
    line-height: 1;
}

.accounts-list-courier-wrap {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-width: 88px;
    max-width: 140px;
}
.accounts-list-courier-wrap--empty {
    color: var(--text-secondary, #999);
    font-size: 0.8rem;
}
.accounts-list-paket-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 999px;
    line-height: 1.35;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.accounts-list-paket-badge i { font-size: 9px; opacity: 0.95; }
.accounts-list-paket-badge.paket-waiting { background: rgba(158,158,158,.2); color: #757575; }
.accounts-list-paket-badge.paket-assigned { background: rgba(33,150,243,.18); color: #1565c0; }
.accounts-list-paket-badge.paket-delivering { background: rgba(255,152,0,.22); color: #e65100; }
.accounts-list-paket-badge.paket-delivered { background: rgba(46,157,87,.2); color: #2e9d57; }
.accounts-list-garson {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    min-width: 4rem;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.accounts-list-garson--courier {
    color: var(--text-primary, #222);
    font-weight: 650;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
}
.accounts-list-garson--courier i {
    color: #ef6c00;
    font-size: 0.72rem;
    flex-shrink: 0;
}
.accounts-list-total {
    font-weight: 600;
    color: var(--text-primary);
    flex-shrink: 0;
    min-width: 5rem;
    text-align: right;
}
.accounts-empty-filtered {
    padding: 1.5rem;
}
.accounts-footer {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    margin-top: 0.5rem;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-radius: var(--border-radius);
    border: 1px solid 1px solid #81c784;
}
.accounts-footer-label {
    font-weight: 600;
    color: var(--text-primary);
}
.accounts-footer-total {
    font-weight: 700;
    font-size: 1.1rem;
    color: #2e7d32;
}

/* Raporlar Sayfası: sol menü + içerik alanı */
.reports-page {
    position: relative;
    display: flex;
    flex-direction: row;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

/* Malleria PRO → raporlar embed üst şerit */
.pro-embed-reports-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 0.85rem;
    background: linear-gradient(90deg, var(--primary) 0%, var(--primary-second, var(--primary)) 100%);
    color: #fff;
    flex-shrink: 0;
    z-index: 5;
}
.pro-embed-reports-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border-radius: 4px;
    padding: 0.35rem 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    cursor: pointer;
    font-size: 0.85rem;
}
.pro-embed-reports-back:hover {
    background: rgba(255, 255, 255, 0.22);
}
.pro-embed-reports-title {
    font-weight: 600;
    font-size: 0.95rem;
}
/* PRO iframe: yalnızca rapor içeriği */
.pos-app--pro-embed-iframe.pos-app-full-content,
.pos-app--pro-embed-iframe .content-area {
    height: 100%;
    min-height: 0;
}
body.pro-embed-reports #boot-splash {
    display: none !important;
}
html.pro-embed-boot #boot-splash {
    display: none !important;
}
html.pro-embed-boot.boot-loading,
html.pro-embed-boot.boot-loading body {
    background: var(--bg, #f5f5f5) !important;
}

/* Transfer sayfası: navbar'dan girilen bağımsız sayfa; sol sidebar yok, içerik tüm alanı kaplar */
.reports-page--transfer-only {
    flex-direction: column;
}
.reports-page--transfer-only .reports-main--transfer {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
}

/* Kasa sidebar: Ayarlar sayfası sidebar ile aynı genişlik, padding, hover/active */
.reports-sidebar {
    width: 220px;
    flex-shrink: 0;
    align-self: stretch;
    min-height: 0;
    max-height: 100%;
    background: linear-gradient(180deg, var(--primary-second) 0%, var(--primary) 100%);
    color: var(--white);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.4) rgba(0, 0, 0, 0.22);
    scrollbar-gutter: stable;
}

.reports-sidebar-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.reports-sidebar::-webkit-scrollbar,
.settings-sidebar::-webkit-scrollbar {
    width: 10px;
}
.reports-sidebar::-webkit-scrollbar-track,
.settings-sidebar::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.22);
    border-radius: 999px;
    margin: 10px 3px 10px 0;
}
.reports-sidebar::-webkit-scrollbar-thumb,
.settings-sidebar::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.2));
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.reports-sidebar::-webkit-scrollbar-thumb:hover,
.settings-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.55);
    background-clip: padding-box;
}

.reports-nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.reports-nav-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: none;
    border-radius: var(--border-radius);
    background: transparent;
    color: var(--white);
    font-size: 0.85rem;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.reports-nav-item i {
    font-size: 1rem;
    width: 20px;
    text-align: center;
    color: inherit;
}

.reports-nav-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.reports-nav-item.active {
    background: var(--nav-bg);
    color: var(--white);
}

.reports-nav-item.active i {
    color: var(--white);
}

.reports-nav-separator {
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    margin: 0.4rem 0;
}

.reports-nav-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.reports-nav-group-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.48);
    padding: 0.2rem 0.75rem 0.15rem;
    user-select: none;
}

.reports-main {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
}

.reports-main.reports-main--kasa-list .reports-patron-archive-bar {
    flex-shrink: 0;
}

.reports-main.reports-main--performance {
    padding-bottom: 2.75rem;
    scroll-padding-bottom: 2.75rem;
}

.reports-main.reports-main--inventory {
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.reports-main.reports-main--invoices {
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0;
}
.reports-main.reports-main--hr {
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0.65rem 0.85rem 0.75rem;
}
.reports-main.reports-main--hr .hr-page {
    flex: 1;
    min-height: 0;
}
.reports-main.reports-main--invoices .invoices-page {
    height: 100%;
    min-height: 0;
    background: transparent;
    padding: 0.75rem 1rem 1rem;
}

.reports-main.reports-main--transfer {
    overflow: hidden;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0.75rem 1rem 1rem;
}
.reports-main.reports-main--transfer .stx-shell {
    flex: 1;
    min-height: 0;
    height: 100%;
}

.reports-placeholder {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    padding: 2rem;
}

.reports-placeholder i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.reports-placeholder p {
    margin: 0;
    font-size: 0.95rem;
}

/* ========== Harita Sayfası (Kurye takip) ========== */
.map-page {
    display: flex;
    flex-direction: row;
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--bg-secondary, #f0f0f0);
}

.map-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.map-filter-bar {
    flex-shrink: 0;
    height: 40px;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0 1rem;
    background: var(--bg-primary, #fff);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    font-size: 0.85rem;
    justify-content: space-around;
}

.map-filter-bar-item {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    cursor: pointer;
    margin: 0;
    color: var(--text-primary, #333);
}

.map-filter-bar-item .app-switch {
    flex-shrink: 0;
}

.map-sidebar-switches {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin: 0.15rem 0 0.35rem 0;
}

.map-sidebar .map-filter-bar-item {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8rem;
    line-height: 1.25;
}

.map-sidebar {
    z-index: 2;
    width: 260px;
    flex-shrink: 0;
    background: var(--bg-primary, #fff);
    border-right: 1px solid var(--border-color, #e0e0e0);
    padding: 1rem;
    overflow-y: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.map-sidebar-title {
    margin: 0 0 0.35rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.map-sidebar-summary {
    margin: 0 0 0.75rem 0;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.map-heatmap-range {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem;
    margin: 0 0 0.75rem 0;
}

.map-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.4rem;
    margin: 0 0 0.85rem 0;
}

.map-stat {
    background: var(--bg-secondary, #f7f7f7);
    border: 1px solid var(--border-color, #eee);
    border-radius: 8px;
    padding: 0.4rem 0.25rem 0.35rem;
    text-align: center;
    min-width: 0;
}

.map-stat-value {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary, #1a1a1a);
    line-height: 1.2;
}

.map-stat-label {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--text-secondary, #888);
    line-height: 1.2;
}

.map-heatmap-range-btn {
    border: 1px solid var(--border-color, #ddd);
    background: var(--bg-secondary, #f7f7f7);
    color: var(--text-primary, #333);
    border-radius: 8px;
    padding: 0.35rem 0.4rem;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

.map-heatmap-range-btn.active {
    background: var(--primary, #ab223b);
    border-color: var(--primary, #ab223b);
    color: #fff;
}

.map-heatmap-platforms {
    list-style: none;
    margin: 0 0 0.85rem 0;
    padding: 0;
}

.map-heatmap-platforms li { margin: 0; }

.map-heatmap-platform {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    font-size: 0.8rem;
    padding: 0.28rem 0.35rem;
    color: var(--text-primary, #333);
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.map-heatmap-platform:hover { background: var(--bg-secondary, #f7f7f7); }

.map-heatmap-platform.active {
    border-color: var(--border-color, #ddd);
    background: var(--bg-secondary, #f7f7f7);
}

.map-heatmap-platform.muted { opacity: 0.45; }

.map-heatmap-platform-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.map-heatmap-platform-name {
    flex: 1;
    min-width: 0;
}

.map-heatmap-platform-count {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.map-ring-list { margin: 0 0 0.75rem 0; display: flex; flex-direction: column; gap: 0.28rem; }
.map-ring-row { display: grid; grid-template-columns: 3.6rem 1fr 2.2rem; align-items: center; gap: 0.35rem; }
.map-ring-label { font-size: 0.68rem; color: var(--text-secondary, #888); font-weight: 600; }
.map-ring-bar { height: 6px; background: var(--bg-secondary, #eee); border-radius: 99px; overflow: hidden; }
.map-ring-fill { display: block; height: 100%; background: #2e7d32; border-radius: 99px; }
.map-ring-fill--far { background: #c62828; }
.map-ring-value { font-size: 0.68rem; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; color: var(--text-primary, #333); }

.map-hotspots { list-style: none; margin: 0 0 0.75rem 0; padding: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.map-hotspot-btn { display: flex; align-items: center; gap: 0.45rem; width: 100%; border: 1px solid var(--border-color, #eee); background: var(--card-bg, #fff); border-radius: 8px; padding: 0.35rem 0.45rem; cursor: pointer; text-align: left; color: inherit; }
.map-hotspot-btn:hover { border-color: var(--primary, #ab223b); }
.map-hotspot-rank { flex-shrink: 0; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--primary, #ab223b); color: #fff; font-size: 0.7rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.map-hotspot-text { font-size: 0.75rem; font-weight: 600; min-width: 0; }

.map-courier-list {
    list-style: none;
    margin: 0 0 0.15rem 0;
    padding: 0;
}

.map-courier-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0.3rem 0.5rem;
    border-radius: 8px;
    margin-bottom: 4px;
    transition: background 0.15s;
    cursor: pointer;
}

.map-courier-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.map-courier-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.6rem;
}

.map-courier-status {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

.map-courier-status.status-yolda {
    background: #e3f2fd;
    color: #1976d2;
}

.map-courier-status.status-teslimatta {
    background: #fff3e0;
    color: #e65100;
}

.map-courier-status.status-adreste {
    background: #fce4ec;
    color: #c2185b;
}

.map-courier-status.status-donuyor {
    background: #efebe9;
    color: #5d4037;
}

.map-courier-status.status-dukkanda {
    background: #e8f5e9;
    color: #2e7d32;
}

.map-courier-status.status-zimmetli {
    background: #fff8e1;
    color: #f9a825;
}

.map-courier-stats {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
}

.map-courier-item.selected {
    background: rgba(76, 175, 80, 0.1);
    border-left: 4px solid var(--success);
}

.map-courier-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.map-courier-detail {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: var(--light-gray, #f5f5f5);
    border-radius: 8px;
    font-size: 0.85rem;
}

.map-detail-row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.map-detail-row:last-child {
    margin-bottom: 0;
}

.map-detail-label {
    color: var(--text-secondary, #666);
    font-weight: 500;
}

.map-detail-value {
    color: var(--text-primary, #1a1a1a);
}

.map-btn-call {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.5rem;
    padding: 0.4rem 0.75rem;
    background: #2e7d32;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}

.map-btn-call:hover {
    background: #1b5e20;
    color: #fff;
}

.map-sidebar-divider {
    height: 1px;
    background: var(--border-color, #e0e0e0);
    margin: 1rem 0;
}

.map-sidebar-section {
    margin-top: 0.5rem;
}

.map-sidebar-section-title {
    margin: 0 0 0.5rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary, #1a1a1a);
}

.map-filter-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0 0 0.25rem 0;
}

.map-filter-checkbox input {
    width: 18px;
    height: 18px;
    accent-color: #ab223b;
}

.map-filter-label {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.map-sidebar-hint {
    margin: 0.25rem 0 0 0;
    font-size: 0.75rem;
    color: var(--text-secondary, #888);
}

.map-courier-item:hover {
    background: var(--light-gray, #f5f5f5);
}

.map-courier-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.map-courier-name {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-primary, #333);
}

.map-container {
    flex: 1;
    position: relative;
    min-height: 300px;
    background: #e8e8e8;
}

/* Leaflet harita içindeki tile'ların görünmesi için */
.map-container .leaflet-map-pane,
.map-container .leaflet-tile-pane {
    z-index: 1;
}

/* Kurye motor ikonu (haritada) - arka planı kaldır, sadece ikon görünsün */
.map-container .map-courier-marker-icon,
.map-container .map-business-marker-icon {
    background: none !important;
    border: none !important;
}

.map-container .map-courier-marker-icon i,
.map-container .map-business-marker-icon i {
    display: block;
}

.map-container .map-courier-marker-name {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    margin-bottom: 4px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.78);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
    pointer-events: none;
}

.map-container .map-heatmap-point {
    background: none !important;
    border: none !important;
}

.map-phone-link {
    color: var(--primary, #1976d2);
    text-decoration: none;
}
.map-phone-link:hover {
    text-decoration: underline;
}

.map-btn-fit-all {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1000;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map-btn-fit-all:hover {
    background: #f5f5f5;
    color: #ab223b;
}

/* ========== Online Siparişler Sayfası: açılır/kapanır sidebar + aktif modül sütunları ========== */
.online-page {
    display: flex;
    flex-direction: row;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--light-gray, #f5f5f5);
}
.online-sidebar-container {
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    height: 100%;
}
.online-sidebar-toggle {
    width: 40px;
    flex-shrink: 0;
    background: linear-gradient(180deg, var(--primary-second) 0%, var(--primary) 100%);
    color: rgba(255, 255, 255, 0.95);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: background 0.2s, color 0.2s, filter 0.2s;
}
.online-sidebar-toggle:hover {
    filter: brightness(0.85);
    color: #fff;
}
.online-sidebar-toggle.online-sidebar-toggle-active {
    filter: brightness(0.85);
    color: #fff;
}
.online-sidebar-toggle.online-sidebar-toggle-active:hover {
    filter: brightness(0.75);
}
.online-sidebar-wrapper {
    width: 0;
    overflow: hidden;
    transition: width 0.25s ease;
    height: 100%;
    flex-shrink: 0;
}
.online-sidebar-wrapper.online-sidebar-visible {
    width: 220px;
}
.online-sidebar {
    width: 220px;
    min-width: 220px;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, var(--primary-second) 0%, var(--primary) 100%);
    color: var(--white);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.online-sidebar > .online-sidebar-master,
.online-sidebar > .online-sidebar-loading,
.online-sidebar > .online-sidebar-footer {
    flex-shrink: 0;
    min-width: 220px;
    padding-left: 1rem;
    padding-right: 1rem;
}
.online-sidebar > .online-sidebar-platforms {
    min-width: 220px;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 0.75rem;
}
.online-sidebar-master {
    padding: 0.5rem;
    margin: 0;
    background: rgba(0, 0, 0, 0.15);
    border-bottom: 1px solid rgb(187 50 75);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.online-sidebar-master-label {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
}
.online-sidebar-master-switch {
    flex-shrink: 0;
    cursor: pointer;
}
.online-sidebar-master .app-switch {
    flex-shrink: 0;
}
.online-sidebar > .online-sidebar-busy-btn {
    flex-shrink: 0;
}
.online-sidebar .app-switch {
    flex-shrink: 0;
}
.online-sidebar-all-switch {
    flex-shrink: 0;
    cursor: pointer;
}
/* Ana switch: kısmen açık (bazı işletmeler açık bazıları kapalı) */
.online-sidebar .app-switch input:indeterminate + .app-switch-slider {
    background-color: #f59e0b;
}
.online-sidebar .app-switch input:indeterminate + .app-switch-slider::before {
    transform: translateX(11px);
}
.online-sidebar-loading {
    padding: 1rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
}
.online-sidebar-platforms {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.online-sidebar-platform {
    margin: 0;
}
.online-sidebar-platform-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 0.35rem;
}
.online-sidebar-shop-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0.35rem 0.5rem;
    margin: 0.1rem 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    font-size: 0.8rem;
    border-left: 3px solid transparent;
}
.online-sidebar-shop-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.online-sidebar-shop-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--white);
}
.online-sidebar-shop-auto-label {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.75);
    font-style: italic;
}
.online-sidebar-shop-lastcheck {
    display: block;
    font-size: 0.68rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.25;
}
.online-sidebar-switch .app-switch {
    flex-shrink: 0;
}
.online-sidebar-actions {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0.5rem 1rem;
}
.online-sidebar-actions .online-sidebar-settings-btn,
.online-sidebar-actions .online-sidebar-test-sound-btn {
    flex: 1;
    width: 0;
    min-width: 0;
    margin: 0;
}
.online-sidebar-sound-volume {
    flex-shrink: 0;
    margin: 0 1rem 0.55rem;
    padding: 0.45rem 0.55rem 0.55rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.14);
}
.online-sidebar-sound-volume-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.92);
}
.online-sidebar-sound-volume-label i {
    width: 1rem;
    text-align: center;
    opacity: 0.95;
}
.online-sidebar-sound-volume-label span {
    flex: 1;
    min-width: 0;
}
.online-sidebar-sound-volume-label strong {
    font-variant-numeric: tabular-nums;
    font-size: 0.75rem;
}
.online-sidebar-sound-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    outline: none;
    cursor: pointer;
}
.online-sidebar-sound-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    cursor: pointer;
}
.online-sidebar-sound-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    cursor: pointer;
}
.online-sidebar-sound-slider::-moz-range-track {
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
}
.online-sidebar-settings-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    margin: 0.5rem 1rem 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.online-sidebar-settings-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}
.online-sidebar-test-sound-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.online-sidebar-test-sound-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}
.online-sidebar-footer {
    margin-top: auto;
    flex-shrink: 0;
    padding: 0.75rem 1rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.online-sidebar-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}
.online-sidebar .online-sidebar-footer .online-footer-label {
    color: rgba(255, 255, 255, 0.95);
}
.online-sidebar .online-sidebar-footer .online-footer-value {
    font-weight: 600;
    color: #fff;
}
.online-main {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 0;
    overflow: hidden;
}
.online-main-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
.online-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--white, #fff);
    border-right: 1px solid var(--border-color, #e0e0e0);
    overflow: hidden;
}

.online-column:last-child {
    border-right: none;
}

.online-column-header {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background: var(--platform-color, #ab223b);
    color: #fff;
    gap: 10px;
    min-height: 42px;
}

.online-column-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 1rem;
}

.online-column-icon {
    font-size: 1.1rem;
    opacity: 0.95;
}

.online-column-title-expandable {
    cursor: pointer;
    user-select: none;
}

.online-column-chevron {
    margin-left: auto;
    font-size: 0.85rem;
    opacity: 0.9;
}

.online-yemeksepeti-shops-panel {
    flex-shrink: 0;
    padding: 10px 14px;
    background: rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid var(--border-color, #e8e8e8);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.online-yemeksepeti-shop-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 10px;
    background: var(--white, #fff);
    border-radius: 8px;
    border: 1px solid var(--border-color, #e8e8e8);
}

.online-yemeksepeti-shop-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-color, #333);
}

.online-yemeksepeti-shop-switch {
    flex-shrink: 0;
}

.online-yemeksepeti-shop-switch input:disabled {
    cursor: default;
}

.online-column-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0;
}

.online-switch-label {
    font-size: 0.8rem;
    font-weight: 500;
    opacity: 0.95;
}

.online-column-filters {
    flex-shrink: 0;
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-color, #e8e8e8);
    background: var(--lighter-gray, #fff);
}

.online-date-input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.875rem;
    background: var(--white, #fff);
}

.online-column-list {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 0;
}

.online-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    color: var(--text-muted, #888);
    text-align: center;
}

.online-empty i {
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
    opacity: 0.6;
}

.online-empty p {
    margin: 0;
    font-size: 0.9rem;
}

.online-module-inactive { min-height: 120px; }
.online-module-inactive-card {
    background: var(--light-gray, #f5f5f5);
    border: 1px dashed var(--border-color, #ccc);
    border-radius: 12px;
    padding: 1.5rem;
}
.online-module-inactive-card i { color: var(--text-muted, #999); }
.online-module-inactive-card p { margin-bottom: 0.75rem; }
.btn-online-contact {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--primary, #ab223b);
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: opacity 0.2s;
}
.btn-online-contact:hover { color: #fff; opacity: 0.9; }

.online-order-card {
    background: var(--light-gray, #f8f8f8);
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    padding: 10px 12px;
    transition: box-shadow 0.2s ease, border-color 0.2s, background 0.2s;
    cursor: pointer;
}
.online-order-card.online-order-card-collapsed {
    padding: 0.5rem;
}

.online-order-card-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.online-order-status-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1rem;
    color: #666;
    background: rgba(0,0,0,0.06);
}
.online-order-status-icon.online-order-status-new { color: #f9a825; background: rgba(249,168,37,0.2); }
.online-order-status-icon.online-order-status-accepted,
.online-order-status-icon.online-order-status-prepared { color: #2e7d32; background: rgba(76,175,80,0.2); }
.online-order-status-icon.online-order-status-ondelivery { color: #1565c0; background: rgba(33,150,243,0.2); }
.online-order-status-icon.online-order-status-delivered { color: #2e7d32; background: rgba(76,175,80,0.25); }
.online-order-status-icon.online-order-status-cancelled,
.online-order-status-icon.online-order-status-rejected { color: #c62828; background: rgba(244,67,36,0.2); }
.online-order-card-content { flex: 1; min-width: 0; }

.online-order-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    background: #fff !important;
}
.online-order-card.online-order-accepted:hover {
    background: #c8e6c9 !important;
}
.online-order-card.online-order-rejected:hover {
    background: #ffcdd2 !important;
}
.online-order-card.online-order-new:hover {
    background: #fff8e1 !important;
}

/* Yeni / bekleyen: statik çizgili (striped) border, animasyon yok */
.online-order-card.online-order-new {
    position: relative;
    background: #fffde7;
    border: 3px solid transparent;
    border-radius: 8px;
    background-image: linear-gradient(#fffde7, #fffde7), repeating-linear-gradient(
        -45deg,
        #f9a825 0,
        #f9a825 5px,
        #ffc107 5px,
        #ffc107 10px
    );
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
}

/* Onaylandı: yeşil kart + yeşil fiyat/toplam */
.online-order-card.online-order-accepted {
    background: #e8f5e9;
    border-color: #4caf50;
}
.online-order-card.online-order-accepted .online-order-total-inline,
.online-order-card.online-order-accepted .online-order-total,
.online-order-card.online-order-accepted .online-order-total strong,
.online-order-card.online-order-accepted .online-line-qty,
.online-order-card.online-order-accepted .online-line-price {
    color: #2e7d32;
}

/* Reddedildi / İptal: kırmızı kart + kırmızı fiyat/toplam */
.online-order-card.online-order-rejected {
    background: #ffebee;
    border-color: #f44336;
}
.online-order-card.online-order-rejected .online-order-total-inline,
.online-order-card.online-order-rejected .online-order-total,
.online-order-card.online-order-rejected .online-order-total strong,
.online-order-card.online-order-rejected .online-line-qty,
.online-order-card.online-order-rejected .online-line-price {
    color: #c62828;
}

/* Online sipariş detay modal — modern */
.online-order-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 1rem;
}
.courier-call-overlay {
    z-index: 12050;
}
/* Legacy kurye modal (MaxiJett / JaviKurye) */
.courier-legacy-modal {
    position: relative;
    width: min(520px, 96vw);
    border-radius: 4px;
    padding: 12px 14px 14px;
    color: #fff;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
.courier-legacy-modal--maxijett {
    background: linear-gradient(180deg, #3a3a3a 0%, #2b2b2b 100%);
    border: 1px solid #555;
}
.courier-legacy-modal--javikurye {
    background: linear-gradient(180deg, #9b2242 0%, #7a1834 100%);
    border: 1px solid #b83255;
}
.courier-legacy-modal--fiyuu {
    width: min(720px, 96vw);
    background: linear-gradient(180deg, #5c6770 0%, #3f474e 100%);
    border: 1px solid #8b959e;
}
.courier-legacy-modal--vigo {
    width: min(720px, 96vw);
    background: linear-gradient(180deg, #1c1c1c 0%, #111111 100%);
    border: 1px solid #7a9f2e;
}
.courier-legacy-modal--vigo .courier-legacy-prep-btn.active {
    background: #8fb83a;
    color: #111;
}
.courier-legacy-modal--vigo .courier-legacy-pay-btn.active {
    background: #8fb83a;
    color: #111;
    border-color: #a3c94a;
}
.courier-legacy-modal--vigo .courier-legacy-meal-opt.active .courier-legacy-meal-radio {
    border-color: #8fb83a;
}
.courier-legacy-modal--vigo .courier-legacy-btn-send {
    background: #7a9f2e;
    color: #111;
}
.courier-legacy-close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.1rem;
    cursor: pointer;
    z-index: 2;
    padding: 4px 6px;
}
.courier-legacy-close:hover {
    color: #fff;
}
.courier-legacy-logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 72px;
    margin-bottom: 10px;
    padding-top: 4px;
}
.courier-legacy-logo {
    max-height: 64px;
    max-width: 280px;
    object-fit: contain;
}
.courier-legacy-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 180px;
    font-size: 1rem;
    opacity: 0.9;
}
.courier-legacy-prep-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    margin-bottom: 10px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.courier-legacy-prep-btn {
    border: none;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    background: #111;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 10px 4px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}
.courier-legacy-prep-btn:last-child {
    border-right: none;
}
.courier-legacy-prep-btn.active {
    background: #1e88e5;
    color: #fff;
}
.courier-legacy-prep-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.courier-legacy-pay-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-bottom: 10px;
}
.courier-legacy-pay-btn {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: #111;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 14px 6px;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    min-height: 52px;
}
.courier-legacy-pay-btn.active {
    background: #1e88e5;
    border-color: #42a5f5;
}
.courier-legacy-pay-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.courier-legacy-meal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px 10px;
    margin-bottom: 12px;
    padding: 8px 4px 4px;
    border-top: 1px dashed rgba(255, 255, 255, 0.2);
}
.courier-legacy-meal-opt {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.78rem;
    user-select: none;
    min-height: 28px;
}
.courier-legacy-meal-opt.disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.courier-legacy-meal-radio {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.75);
    flex-shrink: 0;
    position: relative;
}
.courier-legacy-meal-opt.active .courier-legacy-meal-radio::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background: #fff;
}
.courier-legacy-meal-label {
    line-height: 1.2;
}
.courier-legacy-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 4px;
}
.courier-legacy-btn {
    border: none;
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 14px 10px;
    cursor: pointer;
    letter-spacing: 0.02em;
}
.courier-legacy-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
.courier-legacy-btn-cancel {
    background: #c62828;
}
.courier-legacy-btn-send {
    background: #2e7d32;
}
.courier-legacy-btn-cancel:not(:disabled):hover {
    filter: brightness(1.08);
}
.courier-legacy-btn-send:not(:disabled):hover {
    filter: brightness(1.08);
}
.courier-fiyuu-payload {
    margin: 0 0 12px;
    background: rgba(20, 24, 28, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    overflow: hidden;
}
.courier-fiyuu-payload-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    background: rgba(0, 0, 0, 0.22);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.courier-fiyuu-payload-copy {
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: transparent;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    cursor: pointer;
}
.courier-fiyuu-payload-copy:hover {
    background: rgba(255, 255, 255, 0.12);
}
.courier-fiyuu-payload-meta {
    margin: 0;
    padding: 8px 10px 0;
    font-size: 0.72rem;
    line-height: 1.45;
    opacity: 0.92;
    white-space: pre-wrap;
}
.courier-fiyuu-payload pre {
    margin: 0;
    padding: 8px 10px 10px;
    max-height: 240px;
    overflow: auto;
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.72rem;
    line-height: 1.4;
    color: #e8eef2;
    white-space: pre-wrap;
    word-break: break-word;
}

.online-order-modal {
    background: #fff;
    border-radius: 16px;
    max-width: 480px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
}
.online-order-modal-detail.online-order-modal {
    max-width: 740px;
}
.online-order-modal-footer {
    flex-shrink: 0;
    padding: 16px 20px;
    border-top: 1px solid var(--border-color, #eee);
    background: #fafbfc;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.online-order-modal-footer-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.online-order-modal-total-label {
    color: var(--text-secondary, #555);
}
.online-order-modal-total-value {
    color: #2e7d32;
    font-weight: 700;
}
/* Modal: onaylanmış siparişte yeşil toplam/fiyat */
.online-order-modal.online-order-modal-accepted .online-order-modal-total-value,
.online-order-modal.online-order-modal-accepted .online-order-modal-total,
.online-order-modal.online-order-modal-accepted .online-order-modal-table td.col-price,
.online-order-modal.online-order-modal-accepted .online-order-modal-table td.col-qty {
    color: #2e7d32;
}
/* Modal: iptal/reddedilmiş siparişte kırmızı toplam/fiyat */
.online-order-modal.online-order-modal-rejected .online-order-modal-total-value,
.online-order-modal.online-order-modal-rejected .online-order-modal-total,
.online-order-modal.online-order-modal-rejected .online-order-modal-table td.col-price,
.online-order-modal.online-order-modal-rejected .online-order-modal-table td.col-qty {
    color: #c62828;
}
.online-order-modal-footer-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.online-order-modal-footer .online-order-modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.online-order-modal-actions .btn-online-full {
    grid-column: 1 / -1;
}
.btn-online-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.btn-online-action:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.btn-online-action:not(:disabled):active {
    transform: scale(0.98);
}
.btn-online-action i {
    font-size: 1rem;
    flex-shrink: 0;
}
.btn-online-action.btn-online-primary {
    background: var(--primary, #ab223b);
    color: #fff;
}
.btn-online-action.btn-online-primary:not(:disabled):hover {
    opacity: 0.92;
}
.btn-online-action.btn-online-secondary {
    background: #fff;
    color: #666;
    border: 1px solid #ccc;
}
.btn-online-action.btn-online-secondary:not(:disabled):hover {
    background: #f5f5f5;
    border-color: #bbb;
}
.btn-online-action.btn-online-success {
    background: var(--success, #4CAF50);
    color: #fff;
}
.btn-online-action.btn-online-success:not(:disabled):hover {
    background: var(--success-hover, #45a049);
}
@media (max-width: 380px) {
    .online-order-modal-footer .online-order-modal-actions {
        grid-template-columns: 1fr;
    }
    .online-order-modal-actions .btn-online-full {
        grid-column: 1;
    }
}
.online-order-courier-row {
    width: 100%;
    padding-top: 4px;
    border-top: 1px dashed var(--border-color, #e0e0e0);
}
.btn-online-action.btn-online-courier {
    width: 100%;
    background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);
    color: #fff;
}
.btn-online-action.btn-online-courier:not(:disabled):hover {
    filter: brightness(1.06);
}
.courier-call-modal {
    max-width: 440px;
}
.courier-call-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.courier-call-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px;
    color: var(--text-secondary, #666);
}
.courier-call-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    background: #f8f9fb;
    border-radius: 10px;
    border: 1px solid var(--border-color, #e8e8e8);
}
.courier-call-row {
    display: flex;
    gap: 10px;
    font-size: 0.9rem;
    line-height: 1.4;
}
.courier-call-label {
    flex: 0 0 72px;
    font-weight: 600;
    color: var(--text-secondary, #666);
}
.courier-call-fields {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.courier-call-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.courier-call-input {
    padding: 10px 12px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    font-size: 1rem;
}
.courier-call-payment {
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 10px;
    padding: 12px 14px 10px;
    margin: 0;
}
.courier-call-payment legend {
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0 6px;
    color: var(--text-secondary, #666);
}
.courier-pay-opt {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0;
    font-size: 0.9rem;
    cursor: pointer;
}
.courier-call-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.courier-call-footer .btn-online-action {
    min-width: 110px;
}
.courier-call-provider {
    font-weight: 500;
    opacity: 0.85;
    font-size: 0.92em;
}
.action-btn.btn-courier-call {
    background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);
    color: #fff;
}
.action-btn.btn-courier-call:not(:disabled):hover {
    filter: brightness(1.06);
}
.courier-provider-picker-modal {
    max-width: 400px;
}
.courier-provider-picker-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.courier-provider-picker-hint {
    margin: 0;
    color: var(--text-muted, #666);
    font-size: 0.95rem;
}
.courier-provider-picker-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.courier-provider-picker-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s, box-shadow 0.15s, transform 0.12s;
}
.courier-provider-picker-btn--maxijett {
    background: linear-gradient(180deg, #3a3a3a 0%, #2b2b2b 100%);
    border-color: #555;
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}
.courier-provider-picker-btn--javikurye {
    background: linear-gradient(180deg, #9b2242 0%, #7a1834 100%);
    border-color: #b83255;
    color: #fff;
    box-shadow: 0 4px 14px rgba(122, 24, 52, 0.28);
}
.courier-provider-picker-btn--fiyuu {
    background: linear-gradient(180deg, #5c6770 0%, #3f474e 100%);
    border-color: #8b959e;
    color: #fff;
    box-shadow: 0 4px 14px rgba(63, 71, 78, 0.28);
}
.courier-provider-picker-btn--vigo {
    background: linear-gradient(180deg, #1c1c1c 0%, #111111 100%);
    border-color: #8fb83a;
    color: #e8f0c8;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}
.courier-provider-picker-btn:hover {
    filter: brightness(1.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}
.courier-provider-picker-btn:active {
    transform: scale(0.98);
}
.courier-provider-picker-btn i {
    font-size: 1.1rem;
    color: inherit;
}
.courier-provider-picker-logo {
    height: 28px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
}
.btn-link-inline {
    background: none;
    border: none;
    padding: 0;
    margin: 0 2px;
    color: var(--primary, #3949ab);
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}
.btn-link-inline:hover {
    filter: brightness(1.1);
}
.online-order-courier-block {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--border-color, #e0e0e0);
}
.online-order-courier-title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.online-order-courier-desc {
    margin: 0 0 16px;
    font-size: 0.88rem;
    color: var(--text-muted, #888);
    line-height: 1.4;
    max-width: 720px;
}
.online-order-courier-empty {
    padding: 12px 0;
}
.courier-integration-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 12px;
}
.courier-integration-card {
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    padding: 16px;
    background: var(--surface-elevated, #fafafa);
}
.courier-integration-card--maxijett {
    border-top: 3px solid #3a3a3a;
}
.courier-integration-card--javikurye {
    border-top: 3px solid #9b2242;
}
.courier-integration-card--fiyuu {
    border-top: 3px solid #6b8499;
}
.courier-integration-card--vigo {
    border-top: 3px solid #8fb83a;
}
.settings-vigo-logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #111;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 1rem;
}
.settings-vigo-logo {
    max-height: 40px;
    max-width: 220px;
    object-fit: contain;
}
.courier-integration-card-title {
    margin: 0 0 12px;
    font-size: 1.05rem;
}
.courier-integration-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.courier-integration-row label {
    font-size: 0.9rem;
    flex: 1;
}
.courier-integration-hint {
    margin: 0 0 12px;
    font-size: 0.82rem;
    color: var(--text-muted, #888);
    line-height: 1.35;
}
.courier-integration-platforms {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}
.courier-integration-platform-row.disabled {
    opacity: 0.55;
    pointer-events: none;
}
.courier-integration-platform-row.disabled .app-switch {
    pointer-events: none;
}
.cid-config-panel {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.patron-api-key-locked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.patron-api-key-status {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--text-primary);
    font-weight: 600;
}
.patron-api-key-status i { color: var(--text-secondary); }
.cid-config-intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 57, 73, 171), 0.08) 0%, rgba(var(--primary-rgb, 57, 73, 171), 0.02) 100%);
    border: 1px solid rgba(var(--primary-rgb, 57, 73, 171), 0.12);
}
.cid-config-intro-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #3949ab);
    color: #fff;
    font-size: 1.25rem;
    box-shadow: 0 4px 12px rgba(57, 73, 171, 0.25);
}
.cid-config-intro p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--text-primary, #333);
    padding-top: 4px;
}
.cid-config-warn {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    color: #6d4c00;
    font-size: 0.88rem;
    line-height: 1.4;
}
.cid-config-warn i { margin-top: 2px; color: #f9a825; flex-shrink: 0; }
.cid-config-hint-muted {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.4;
    color: var(--text-secondary, #666);
}
.cid-config-api-group {
    margin: 0;
}
.cid-config-api-group > label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.cid-config-select-wrap {
    position: relative;
}
.cid-config-select.form-control,
.cid-config-panel select.cid-config-select {
    width: 100%;
    height: 42px;
    padding: 0.55rem 2.25rem 0.55rem 0.75rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    background-color: var(--white, #fff);
    color: var(--text-primary, #333);
    font-size: 0.9rem;
    font-family: var(--font-family-base);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cid-config-select.form-control:focus,
.cid-config-panel select.cid-config-select:focus {
    outline: none;
    border-color: var(--primary, #3949ab);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb, 57, 73, 171), 0.15);
}
.cid-config-api-hint {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text-secondary, #666);
}
.theme-dark .cid-config-select.form-control,
.theme-dark .cid-config-panel select.cid-config-select {
    background-color: var(--card-bg, #2a2a2a);
    border-color: var(--border-color, #444);
    color: var(--text-primary, #eee);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ccc' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
}
.theme-dark .cid-config-api-group > label {
    color: var(--text-primary, #eee);
}
.theme-dark .cid-config-api-hint {
    color: var(--text-secondary, #aaa);
}
.theme-dark .cid-config-warn {
    background: rgba(249, 168, 37, 0.12);
    border-color: rgba(249, 168, 37, 0.35);
    color: #ffecb3;
}
.cid-config-add-card {
    padding: 16px;
    border-radius: 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    background: var(--card-bg, #fafafa);
}
.cid-config-section-title {
    margin: 0 0 12px;
    font-size: 0.95rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-primary, #333);
}
.cid-config-section-title i {
    color: var(--primary, #3949ab);
    font-size: 0.9rem;
}
.cid-config-count {
    margin-left: 6px;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 11px;
    background: var(--primary, #3949ab);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cid-config-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
@media (max-width: 520px) {
    .cid-config-fields {
        grid-template-columns: 1fr;
    }
}
.cid-config-fields .form-group {
    margin-bottom: 0;
}
.cid-config-add-btn {
    width: 100%;
    justify-content: center;
    gap: 8px;
}
.cid-config-devices {
    min-height: 80px;
}
.cid-config-empty {
    text-align: center;
    padding: 28px 16px;
    color: var(--text-muted, #888);
}
.cid-config-empty-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: var(--surface-elevated, #f0f0f0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--text-muted, #aaa);
}
.cid-config-empty p {
    margin: 0 0 4px;
    font-size: 0.95rem;
    color: var(--text-primary, #555);
}
.cid-config-empty-hint {
    font-size: 0.82rem;
    color: var(--text-muted, #999);
}
.cid-device-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cid-device-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    background: var(--card-bg, #fff);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.cid-device-card:hover {
    border-color: rgba(var(--primary-rgb, 57, 73, 171), 0.35);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.cid-device-card-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(145deg, #5c6bc0 0%, #3949ab 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.cid-device-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.cid-device-card-name {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cid-device-card-badge {
    display: inline-flex;
    align-self: flex-start;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 6px;
    background: rgba(76, 175, 80, 0.12);
    color: #2e7d32;
}
.cid-device-card-remove {
    flex-shrink: 0;
    opacity: 0.65;
}
.cid-device-card-remove:hover {
    opacity: 1;
}
.cid-config-footer {
    margin-top: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, #e0e0e0);
}
.online-order-select {
    min-width: 0;
    width: 100%;
    max-width: 180px;
}
.online-order-hint {
    margin: 4px 0 0;
    font-size: 0.85rem;
    color: var(--text-muted, #888);
    line-height: 1.35;
}
.online-detail-card {
    border-radius: 12px;
}
.online-detail-card-white {
    background: #fff;
    border: 1px solid var(--border-color, #e8e8e8);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    padding: 12px 14px;
    margin-bottom: 0;
}
.online-detail-label-inline i.fas {
    margin-right: 6px;
    width: 1em;
    color: var(--text-secondary, #666);
}
.online-detail-block {
    margin-bottom: 10px;
}
.online-detail-block:last-child {
    margin-bottom: 0;
}
.online-detail-block + .online-detail-block {
    padding-top: 8px;
    border-top: 1px solid #e5e5e5;
}
.online-detail-block-row {
    display: flex;
    gap: 20px;
    margin-bottom: 0;
}
.online-detail-block-row + .online-detail-block {
    padding-top: 8px;
}
.online-detail-cell {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.online-detail-cell .online-detail-label-inline {
    flex: 0 0 60px;
}
.online-detail-cell .online-detail-value-inline {
    flex: 1;
}
.online-detail-row-inline {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 3px 0;
    min-height: 22px;
}
.online-detail-label-inline {
    flex: 0 0 90px;
    font-size: 0.78rem;
    color: #666;
    font-weight: 500;
    line-height: 1.35;
}
.online-detail-value-inline {
    flex: 1;
    font-size: 0.88rem;
    color: #222;
    line-height: 1.35;
    word-break: break-word;
}
.online-detail-value-inline.online-detail-desc {
    color: #555;
    font-size: 0.82rem;
}
.online-detail-card .online-detail-grid {
    gap: 0.5rem 1rem;
}

.online-order-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color, #eee);
    background: #fff;
}

.online-order-modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
}
.online-order-modal-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.online-order-modal-close {
    background: rgba(0, 0, 0, 0.06);
    border: none;
    padding: 8px;
    border-radius: 10px;
    cursor: pointer;
    color: #555;
    transition: background 0.2s, color 0.2s;
}

.online-order-modal-close:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #222;
}

.online-order-modal-title {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 600;
    flex: 1;
    min-width: 0;
    padding-right: 12px;
    color: #1a1a1a;
    letter-spacing: -0.01em;
}
.online-order-modal-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.btn-online-print {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    background: #fff;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    color: var(--text-primary, #333);
    transition: background 0.2s, border-color 0.2s;
}
.btn-online-print:hover {
    background: #f5f5f5;
    border-color: #ccc;
}
.btn-online-print-prominent {
    padding: 10px 18px;
    font-size: 0.95rem;
    font-weight: 600;
    background: var(--primary, #1976d2);
    color: #fff;
    border-color: var(--primary, #1976d2);
}
.btn-online-print-prominent:hover {
    background: #1565c0;
    border-color: #1565c0;
    color: #fff;
}

/* Modal üst: modern stepper — dairesel düğmeler + bağlantı çizgileri */
.online-order-modal-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border-color, #eee);
    background: linear-gradient(180deg, #ffffff 0%, #ededed 100%);
}

.online-order-step {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    border-radius: 0;
    font-size: 0.8rem;
    font-weight: 500;
    color: #8e8e8e;
    background: transparent;
    transition: color 0.2s ease, transform 0.2s ease;
}

.online-order-step .online-order-step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    border-radius: 50%;
    font-size: 0.9rem;
    background: #e8e8e8;
    color: #9e9e9e;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.online-order-step.step-done {
    color: #2e7d32;
}
.online-order-step.step-done .online-order-step-icon {
    background: #2e7d32;
    color: #fff;
}

.online-order-step.step-active {
    color: #1b5e20;
    font-weight: 600;
}
.online-order-step.step-active .online-order-step-icon {
    background: #2e7d32;
    color: #fff;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.25);
    transform: scale(1.05);
}

.online-order-step-connector {
    flex: 1;
    min-width: 28px;
    max-width: 56px;
    height: 3px;
    background: #e5e5e5;
    border-radius: 2px;
    margin: 0 4px;
    overflow: hidden;
    transition: background 0.2s;
}

.online-order-step-connector.connector-done {
    background: #2e7d32;
}

.online-order-step-connector.connector-animated {
    background: linear-gradient(90deg, #2e7d32 50%, rgba(46, 125, 50, 0.35) 50%);
    background-size: 14px 100%;
    animation: online-step-striped 0.7s linear infinite;
}

@keyframes online-step-striped {
    0% { background-position: 0 0; }
    100% { background-position: 14px 0; }
}

.online-order-step-cancelled {
    color: #c62828 !important;
    background: transparent !important;
}
.online-order-step-cancelled .online-order-step-icon {
    background: rgba(198, 40, 40, 0.12) !important;
    color: #c62828 !important;
}

.online-order-modal-status-text {
    padding: 10px 20px 12px;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    text-align: center;
    border-bottom: 1px solid var(--border-color, #eee);
    background: #fff;
}

.online-order-modal-body {
    padding: 16px 20px;
    overflow-y: auto;
    max-height: 52vh;
}

.online-order-modal-body-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-height: 56vh;
}
@media (max-width: 560px) {
    .online-order-modal-body-cols {
        grid-template-columns: 1fr;
    }
}
.online-order-modal-col {
    min-width: 0;
    overflow-y: auto;
}
/* Müşteri sütunu: daha kompakt, scroll çıkmasın */
.online-order-modal-col-customer .online-detail-card {
    margin-bottom: 0;
}
.online-order-modal-col-customer .online-detail-card-white {
    padding: 10px 12px;
}
.online-order-modal-col-customer .online-detail-block {
    margin-bottom: 0.75rem;
}
.online-order-modal-col-customer .online-detail-block + .online-detail-block {
    padding-top: 0.75rem;
    border-top: 1px solid #eee;
}
.online-order-modal-col-customer .online-detail-row-inline {
    padding: 1px 0;
    min-height: 18px;
}
.online-order-modal-col-customer .online-detail-label-inline {
    flex: 0 0 72px;
    font-size: 0.72rem;
    line-height: 1.3;
}
.online-order-modal-col-customer .online-detail-value-inline {
    font-size: 0.8rem;
    line-height: 1.3;
}
.online-order-modal-col-customer .online-detail-value-inline.online-detail-desc {
    font-size: 0.76rem;
}
.online-order-modal-col-customer .online-detail-label-inline i.fas {
    margin-right: 4px;
}

.online-order-modal-col-items .online-detail-items-section {
    border-top: none;
    padding-top: 0;
}
.online-order-modal-col-items .online-detail-section-title {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
}

.online-detail-section {
    margin-bottom: 1.25rem;
}
.online-detail-section:last-of-type { margin-bottom: 0; }
.online-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 1rem;
}
.online-detail-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.online-detail-item.full-width { grid-column: 1 / -1; }
.online-detail-label {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.online-detail-value {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}
.online-detail-reason { color: #666; font-weight: normal; }
.online-detail-desc { color: #555; }
.online-detail-link { color: var(--primary, #ab223b); text-decoration: none; }
.online-detail-link:hover { text-decoration: underline; }

.online-detail-section-title {
    margin: 0 0 6px 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.online-detail-items-section {
    border-top: 1px solid var(--border-color, #eee);
    padding-top: 10px;
}
.online-order-modal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-color, #e8e8e8);
}
.online-order-modal-table th,
.online-order-modal-table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid #eee;
}
.online-order-modal-table tr:last-child td {
    border-bottom: none;
}
.online-order-modal-table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #555;
    font-size: 0.8rem;
}
.online-order-modal-table .col-qty { width: 4rem; }
.online-order-modal-table .col-price { width: 6rem; text-align: right; }
.online-order-modal-table td.col-price { text-align: right; }
.online-line-options-detail {
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-size: 0.82rem;
    color: #444;
    margin-top: 6px;
    line-height: 1.4;
}
.online-option-line {
    display: block;
}
.online-option-line--d1 { padding-left: 12px; }
.online-option-line--d2 { padding-left: 22px; }
.online-option-line--d3 { padding-left: 32px; }
.online-option-line--d4 { padding-left: 42px; }
.online-option-line--header {
    margin-top: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7a7a7a;
}
.online-option-line--header:first-child { margin-top: 0; }
.online-option-line--exclude {
    color: #b42318;
    font-weight: 700;
}
.online-option-line--note {
    margin-top: 4px;
    color: #6b5420;
    font-style: italic;
    font-weight: 500;
}

.online-detail-row {
    margin: 0 0 8px 0;
    font-size: 0.9rem;
}

.online-order-modal-items {
    list-style: none;
    margin: 12px 0 0 0;
    padding: 0;
    border-top: 1px solid #eee;
    padding-top: 12px;
}

.online-order-modal-total {
    margin-top: 12px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary, #ab223b);
}

.online-order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}

.online-order-header-name-block {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.online-order-app-badge {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 2px;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.3;
    text-transform: none;
}
.online-order-app-badge--trendyol {
    background: #FE6A09;
    color: #fff;
}
.online-order-app-badge--getir {
    background: #6345BF;
    color: #fff;
}
.online-order-app-badge--modal {
    margin: 0 0.5rem 0 0;
    align-self: center;
    font-size: 0.75rem;
}

.online-order-header .online-order-customer-name {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.online-order-status-text {
    font-size: 0.75rem;
    color: var(--text-muted, #6c757d);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.online-order-time {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
}

.online-order-header-right {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.online-order-meta {
    font-size: 0.72rem;
    color: var(--text-muted, #6c757d);
    display: flex;
    align-items: center;
    gap: 4px;
}

.online-order-meta-sep {
    opacity: 0.7;
}

.online-order-distance {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.online-order-distance i {
    font-size: 0.7rem;
    color: var(--text-secondary, #666);
}

.online-order-total-inline {
    flex-shrink: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.online-order-items {
    list-style: none;
    margin: 0 0 10px 0;
    padding: 0;
}

.online-order-line {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    font-size: 0.875rem;
    flex-wrap: wrap;
}

.online-line-qty {
    color: var(--text-primary, #333);
    font-weight: 600;
    min-width: 2.5ch;
}

.online-line-name {
    flex: 1;
    color: var(--text-primary, #333);
}

.online-line-options-inline {
    display: flex;
    flex-direction: column;
    gap: 0;
    font-size: 0.75rem;
    color: #555;
    font-weight: 400;
    margin-top: 3px;
    line-height: 1.35;
}
.online-line-options-inline .online-option-line--header {
    font-size: 0.65rem;
}
.online-line-options-inline .online-option-line--exclude {
    font-weight: 700;
}

.online-line-price {
    color: var(--text-primary, #333);
    margin-left: auto;
}

.online-order-total {
    margin-bottom: 10px;
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    font-weight: 600;
}

.online-order-total strong {
    color: var(--text-primary, #333);
}

.btn-online-approve {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.btn-online-approve:active {
    transform: scale(0.98);
}

/* Kapalı kart: sadece müşteri adı + saat + total */
.online-order-card.online-order-card-collapsed .online-order-header {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.online-order-customer-row { margin: 0 0 6px 0; font-size: 0.9rem; }
.online-order-address-row { margin: 8px 0 2px 0; font-size: 0.85rem; color: #555; }
.online-order-address-desc { margin: 0 0 8px 0; font-size: 0.85rem; color: #666; }
.online-order-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}
.btn-online-cancel {
    flex: 1;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #d32f2f;
    background: #fff;
    color: #d32f2f;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.btn-online-cancel:hover { background: #ffebee; }
.btn-online-cancel:disabled { opacity: 0.6; cursor: not-allowed; }
.btn-online-prepared, .btn-online-ondelivery, .btn-online-deliver {
    flex: 1;
    padding: 8px 12px;
    border-radius: 8px;
    border: none;
    background: var(--primary, #ab223b);
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: opacity 0.2s;
}
.btn-online-prepared:hover, .btn-online-ondelivery:hover, .btn-online-deliver:hover { opacity: 0.9; }
.btn-online-prepared:disabled, .btn-online-ondelivery:disabled, .btn-online-deliver:disabled { opacity: 0.6; cursor: not-allowed; }
.online-order-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #eee;
}
.online-order-modal-actions .btn-online-approve,
.online-order-modal-actions .btn-online-cancel,
.online-order-modal-actions .btn-online-prepared,
.online-order-modal-actions .btn-online-ondelivery,
.online-order-modal-actions .btn-online-deliver {
    flex: 1;
    min-width: 120px;
}
.reject-reasons-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.reject-reasons-list li { margin-bottom: 6px; }
.btn-reject-reason {
    display: block;
    width: 100%;
    padding: 10px 12px;
    text-align: left;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.2s;
}
.btn-reject-reason:hover { background: #f5f5f5; }

.online-column-footer {
    flex-shrink: 0;
    padding: 12px 14px;
    border-top: 1px solid var(--border-color, #e8e8e8);
    background: var(--light-gray, #f8f8f8);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.online-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
}

.online-footer-label {
    color: var(--text-secondary, #555);
}

.online-footer-value {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.reports-header {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-color);
}

.reports-header h2 {
    margin: 0 0 0.75rem 0;
    font-size: 1.25rem;
    color: var(--text-primary);
}

/* Temel: düzen only; kart görünümü .reports-filters--card */
.reports-filters {
    display: flex;
    gap: 0.5rem;
    align-items: flex-end;
    flex-wrap: wrap;
}
.reports-filters--card {
    background-color: var(--white);
    padding: 0.35rem 0.5rem;
    border-radius: var(--border-radius);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    margin-bottom: 1rem;
}
.theme-dark .reports-filters--card {
    background-color: var(--card-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 0 0 auto;
    min-width: 110px;
}

.filter-group label {
    font-weight: 500;
    color: var(--text-secondary);
    font-size: 0.7rem;
    text-transform: none;
    letter-spacing: 0;
}

.filter-select {
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.75rem;
    background-color: var(--white);
    color: var(--text-primary);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-weight: 400;
    min-width: 100px;
}

.filter-select:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 4px rgba(255, 23, 68, 0.1);
}

.filter-select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.15);
}

/* Rapor filtreleri: tarih, metin, sayı inputları — filter-select ile aynı tasarım dili */
.reports-filters .filter-input,
.reports-filters input[type="date"],
.reports-filters input[type="text"],
.reports-filters input[type="number"] {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    font-family: inherit;
    background-color: var(--card-bg, var(--white, #fff));
    color: var(--text-primary);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.reports-filters input[type="date"] {
    cursor: pointer;
}
.reports-filters--performans { flex-wrap: nowrap; }
.reports-filters--performans .filter-group { flex: 0 0 auto; }
.reports-filters input[type="time"] {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    cursor: pointer;
}
@media (max-width: 900px) { .reports-filters--performans { flex-wrap: wrap; } }
.reports-filters .filter-input:hover,
.reports-filters input[type="date"]:hover,
.reports-filters input[type="text"]:hover,
.reports-filters input[type="number"]:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 4px rgba(255, 23, 68, 0.1);
}
.reports-filters .filter-input:focus,
.reports-filters input[type="date"]:focus,
.reports-filters input[type="text"]:focus,
.reports-filters input[type="number"]:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.15);
}
.theme-dark .reports-filters .filter-input,
.theme-dark .reports-filters input[type="date"],
.theme-dark .reports-filters input[type="text"],
.theme-dark .reports-filters input[type="number"] {
    background-color: var(--card-bg);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--text-primary);
}

.reports-legend.reports-legend-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
    background: var(--light-gray, #f5f5f5);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    color: var(--text-muted);
}
.reports-legend.reports-legend-info i { margin-right: 0.25rem; }
.reports-legend .legend-item { display: inline-flex; align-items: center; gap: 0.35rem; }
.reports-legend .legend-swatch { width: 14px; height: 14px; border-radius: 2px; }
.reports-legend .legend-mismatch .legend-swatch { background: rgba(255, 193, 7, 0.9); }
.reports-legend .legend-deleted .legend-swatch { background: rgba(198, 40, 40, 0.9); }
.theme-dark .reports-legend.reports-legend-info { background: rgba(255,255,255,0.08); }

/* Kasa Bugün: satır renk açıklaması — aksiyon çubuğunda, sol düğmeler ile Günü Kapat arası */
.reports-legend.reports-legend-inline {
    flex: 1 1 220px;
    min-width: 0;
    margin-bottom: 0;
    padding: 0.35rem 0.55rem;
    font-size: 0.7rem;
    gap: 0.35rem 0.75rem;
    justify-content: center;
    align-self: center;
    max-width: 100%;
}

/* Arşiv: legend tablonun altında minimal */
.reports-legend.reports-legend-bottom {
    margin-top: 0.5rem;
    margin-bottom: 0;
    padding: 0.35rem 0.55rem;
    font-size: 0.7rem;
    width: 100%;
    box-sizing: border-box;
}

.reports-content {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.reports-main:not(.reports-main--kasa-list) .reports-content {
    overflow: auto;
}

.reports-table-container {
    flex: 1;
    overflow: auto;
    margin-bottom: 0.5rem;
    min-height: 0;
    position: relative;
}

.reports-arsiv-table-wrap {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.reports-table-container--busy {
    min-height: 220px;
}

.reports-table-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background: rgba(255, 255, 255, 0.78);
    color: var(--secondary, #5b6b7a);
    font-weight: 600;
    pointer-events: none;
}

.theme-dark .reports-table-loading-overlay {
    background: rgba(30, 30, 30, 0.78);
}

.reports-table-loading-overlay i {
    font-size: 1.5rem;
}

.reports-infinite-hint {
    text-align: center;
    padding: 0.55rem 0.75rem;
    font-size: 0.78rem;
    color: var(--text-secondary, #666);
    font-weight: 500;
    background: rgba(0, 0, 0, 0.03);
}

.reports-arsiv-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-shrink: 0;
    padding: 0.35rem 0.5rem 0.55rem;
    border-top: 1px solid var(--border-color, rgba(0, 0, 0, 0.08));
    background: var(--card-bg, #fff);
}

.reports-arsiv-pager-info {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
}

.reports-arsiv-pager-range {
    font-weight: 500;
    opacity: 0.85;
    margin-left: 0.25rem;
}

.reports-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--white);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    font-size: 0.72rem;
}

.reports-table thead {
    background-color: var(--secondary);
    color: white;
}

/* Kasa > Bugün / Arşiv: kolon başlıkları dikey kaydırmada sabit.
   thead { position:sticky } Chromium'da güvenilir değil; tablodaki overflow:hidden
   kaydırma kutusunu tabloya bağlar ve başlık satırla birlikte gider. */
.reports-main--kasa-list .reports-table {
    overflow: visible;
}
.reports-main--kasa-list .reports-table th {
    position: sticky;
    top: 0;
    z-index: 12;
    background-color: var(--secondary);
    color: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.22);
}

.reports-table th {
    padding: 0.45rem 0.6rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.72rem;
    /* Kelime ortasından bölme ("Nerede n", "Tuta r") olmasın; sadece boşluklardan sarsın */
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    line-height: 1.3;
    vertical-align: bottom;
}

.reports-table tbody tr {
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.2s;
}

.reports-table tbody tr:hover {
    background-color: var(--light-gray);
}
.reports-table tbody tr.clickable-row {
    cursor: pointer;
}

/* Fiş Silindi - Kırmızı ton */
.reports-table tbody tr.row-deleted {
    background-color: rgba(211, 47, 47, 0.1);
}

.reports-table tbody tr.row-deleted:hover {
    background-color: rgba(211, 47, 47, 0.15);
}

.reports-table tbody tr.row-deleted td {
    color: #c62828;
}

.reports-table-eadisyon .eadisyon-msg-cell {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    color: #666;
}
.reports-table-eadisyon .eadisyon-col-amount {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.reports-table-eadisyon .eadisyon-row-clickable {
    cursor: pointer;
}
.reports-table-eadisyon .eadisyon-row-clickable:hover {
    background: rgba(25, 118, 210, 0.06);
}
.eadisyon-detail-overlay {
    z-index: 11080;
}
.eadisyon-detail-modal {
    width: min(920px, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}
.eadisyon-detail-modal .modal-header h3 {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.eadisyon-detail-fatno {
    font-weight: 500;
    opacity: 0.75;
    font-size: 0.92em;
}
.eadisyon-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    padding: 0.55rem 1.25rem 0;
    font-size: 0.88rem;
    color: var(--text-secondary, #555);
    align-items: center;
}
.eadisyon-detail-amount {
    margin-left: auto;
    font-weight: 700;
    color: var(--text-primary, #222);
    font-variant-numeric: tabular-nums;
}
.eadisyon-detail-body {
    flex: 1;
    min-height: 0;
    padding: 0.75rem 1.25rem 1rem;
}
.eadisyon-detail-frame {
    width: 100%;
    height: min(62vh, 640px);
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: #fff;
}
.eadisyon-status {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
}
.eadisyon-status--sent { background: #e8f5e9; color: #2e7d32; }
.eadisyon-status--failed { background: #ffebee; color: #c62828; }
.eadisyon-status--pending { background: #fff8e1; color: #f57f17; }
.theme-dark .eadisyon-status--sent { background: rgba(46,125,50,0.2); color: #81c784; }
.theme-dark .eadisyon-status--failed { background: rgba(198,40,40,0.2); color: #ef9a9a; }
.theme-dark .eadisyon-status--pending { background: rgba(245,127,23,0.15); color: #ffcc80; }

.reports-table-silinen .col-deleted-icon {
    width: 2rem;
    text-align: center;
    vertical-align: middle;
}
.reports-table-silinen .deleted-row-icon {
    color: #c62828;
    font-size: 1.1rem;
}
.theme-dark .reports-table-silinen .deleted-row-icon {
    color: #ef5350;
}

/* Tutar-Tahsilat uyumsuzluğu - Sarı ton */
.reports-table tbody tr.row-mismatch {
    background-color: rgba(255, 193, 7, 0.15);
}

.reports-table tbody tr.row-mismatch:hover {
    background-color: rgba(255, 193, 7, 0.2);
}

.reports-table tbody tr.row-mismatch td {
    color: #f57c00;
}

/* Dark mode için rapor satır renkleri */
.theme-dark .reports-table tbody tr.row-deleted {
    background-color: rgba(211, 47, 47, 0.2);
}

.theme-dark .reports-table tbody tr.row-deleted:hover {
    background-color: rgba(211, 47, 47, 0.25);
}

.theme-dark .reports-table tbody tr.row-deleted td {
    color: #ef5350;
}

.theme-dark .reports-table tbody tr.row-mismatch {
    background-color: rgba(255, 193, 7, 0.2);
}

.theme-dark .reports-table tbody tr.row-mismatch:hover {
    background-color: rgba(255, 193, 7, 0.25);
}

.theme-dark .reports-table tbody tr.row-mismatch td {
    color: #ffb74d;
}

/* Satış detay paneli (Kasa > Bugün - sağdan kayan, 1366x768 uyumlu) */
.reports-main {
    position: relative;
}
.sale-detail-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 18;
    background: rgba(0,0,0,0.15);
    cursor: pointer;
}
.sale-detail-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 450px;
    max-width: 92%;
    backdrop-filter: blur(4px);
    height: 100vh;
    max-height: 100vh;
    background: rgba(255,255,255,0.6);
    box-shadow: -6px 0 20px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    z-index: 20;
    border-left: 1px solid rgba(0,0,0,0.08);
}
.sale-detail-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.6rem;
    background: var(--primary, #e0143a);
    color: #fff;
    flex-shrink: 0;
}
.sale-detail-header-content {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    min-width: 0;
}
.sale-detail-badge {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.85;
}
.sale-detail-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
.btn-close-panel {
    background: rgba(255,255,255,0.2);
    border: none;
    cursor: pointer;
    padding: 0.3rem 0.45rem;
    color: #fff;
    border-radius: 4px;
    transition: background 0.2s;
}
.btn-close-panel:hover {
    background: rgba(255,255,255,0.35);
}
.sale-detail-panel-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 3rem 1rem;
    display: block;
}
.sale-detail-panel-body > .sale-detail-loading {
    padding: 1.5rem;
}
.sale-detail-panel-body > .sale-detail-card,
.sale-detail-panel-body > .sale-detail-meta-card {
    margin-bottom: 0.6rem;
}
.sale-detail-panel-body > .sale-detail-card:last-child,
.sale-detail-panel-body > .sale-detail-meta-card:last-child {
    margin-bottom: 0;
}
.sale-detail-panel-footer {
    flex-shrink: 0;
    padding: 1rem;
    border-top: 1px solid rgba(0,0,0,0.08);
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.sale-detail-footer-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.sale-detail-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem;
    color: var(--text-muted);
    font-size: 0.9rem;
}
.sale-detail-loading i { font-size: 1.25rem; }
.sale-detail-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.07);
    overflow: hidden;
}
.sale-detail-meta-card {
    padding: 0.5rem 0.6rem;
}
.sale-detail-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.75rem;
}
.sale-detail-meta-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    min-width: 0;
}
.sale-detail-meta-item i {
    color: var(--nav-bg, #e0143a);
    width: 0.9rem;
    text-align: center;
    flex-shrink: 0;
    font-size: 0.75rem;
}
.sale-detail-meta-item div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.2rem 0.35rem;
    min-width: 0;
}
.sale-detail-meta-item .meta-label {
    color: var(--text-muted);
    font-size: 0.7rem;
}
.sale-detail-meta-item .meta-label::after {
    content: ':';
    margin-left: 0.05em;
}
.sale-detail-meta-item .meta-value {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.8rem;
}
.sale-detail-lines-card {
    padding: 0 0 0.35rem 0;
}
.sale-detail-card-heading {
    margin: 0;
    padding: 0.45rem 0.6rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
    border-bottom: 1px solid rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.sale-detail-card-heading i {
    color: var(--primary, #e0143a);
    opacity: 0.9;
    font-size: 0.75rem;
}
.sale-detail-lines {
    list-style: none;
    padding: 0 0.6rem 0.35rem;
    margin: 0;
}
.sale-detail-line {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0.35rem 0;
    font-size: 0.85rem;
    border-bottom: 1px dashed rgba(0,0,0,0.07);
    gap: 0.4rem;
}
.sale-detail-line:last-child { border-bottom: none; }
.sale-detail-line.line-iptal {
    opacity: 0.55;
    text-decoration: line-through;
    color: var(--text-muted);
}
.sale-detail-line-status-icon {
    flex-shrink: 0;
    width: 1.25rem;
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
}
.sale-detail-line-status-icon.line-status-ok { color: #2e7d32; }
.sale-detail-line-status-icon.line-status-iptal { color: #c62828; }
.sale-detail-line-status-icon.line-status-indirim { color: #e65100; }
.sale-detail-line .line-name-block {
    flex: 1;
    min-width: 0;
    margin-right: 0.3rem;
}
.sale-detail-line .line-name-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    flex-wrap: wrap;
}
.sale-detail-line .line-name {
    display: inline;
}
.sale-detail-line .line-description {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 0.2rem;
    line-height: 1.25;
    white-space: pre-wrap;
    word-break: break-word;
}
.sale-detail-line .line-waiter-meta {
    font-size: 0.68rem;
    color: var(--text-muted);
    margin-top: 0.12rem;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.sale-detail-line .line-fis-badge {
    font-size: 0.6rem;
    padding: 0.15rem 0.3rem;
    background: #e3f2fd;
    color: #1565c0;
    border-radius: 4px;
    font-weight: 600;
    flex-shrink: 0;
}
.sale-detail-line .line-ikram-badge {
    font-size: 0.6rem;
    padding: 0.15rem 0.35rem;
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
    border-radius: 4px;
    font-weight: 700;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.sale-detail-line .line-tutar.line-tutar--ikram {
    color: #2e7d32;
}
.theme-dark .sale-detail-line .line-ikram-badge {
    background: rgba(129, 199, 132, 0.2);
    color: #81c784;
}
.theme-dark .sale-detail-line .line-tutar.line-tutar--ikram {
    color: #81c784;
}
.sale-detail-line .line-qty {
    color: var(--text-muted);
    font-size: 0.8rem;
    flex-shrink: 0;
}
.sale-detail-line .line-tutar {
    font-weight: 600;
    color: var(--text-primary);
    flex-shrink: 0;
}
.sale-detail-empty {
    text-align: center;
    padding: 0.75rem;
    color: var(--text-muted);
    font-size: 0.85rem;
}
.sale-detail-totals-card {
    padding: 0.5rem 0.6rem;
    background: #f8f9fa;
    border: 1px solid rgba(0,0,0,0.06);
}
.detail-total-row {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
    font-size: 0.85rem;
}
.detail-total-row.detail-total-final {
    font-weight: 700;
    font-size: 1rem;
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(0,0,0,0.08);
}
.detail-total-row .detail-discount {
    color: #c62828;
}
.detail-total-row .detail-cancelled {
    color: #c62828;
    font-variant-numeric: tabular-nums;
}
.detail-total-row .detail-discount-note {
    font-weight: 500;
    font-size: 0.78rem;
    color: var(--text-muted, #64748b);
}
.sale-indirim-note {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.72rem;
    line-height: 1.25;
    color: var(--text-muted, #64748b);
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sale-detail-payment-breakdown-card {
    padding: 0 0 0.35rem 0;
}
.sale-detail-payment-breakdown-list {
    list-style: none;
    padding: 0 0.6rem 0.35rem;
    margin: 0;
}
.sale-detail-payment-breakdown-item {
    display: flex;
    justify-content: space-between;
    padding: 0.3rem 0;
    font-size: 0.85rem;
    border-bottom: 1px dashed rgba(0,0,0,0.07);
}
.sale-detail-payment-breakdown-item:last-child { border-bottom: none; }
.payment-breakdown-label { font-weight: 500; color: var(--text-primary); }
.payment-breakdown-amount { font-weight: 600; color: var(--text-primary); }
.sale-detail-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.25rem;
}
.btn-recall-sale {
    width: 100%;
    padding: 0.7rem 1rem;
    font-weight: 600;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.btn-create-fatura {
    width: 100%;
    padding: 0.7rem 1rem;
    font-weight: 700;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: none;
    color: #fff !important;
    background: linear-gradient(135deg, #0d9488 0%, #0891b2 45%, #2563eb 100%);
    box-shadow: 0 2px 8px rgba(8, 145, 178, 0.45);
    letter-spacing: 0.01em;
}
.btn-create-fatura:hover:not(:disabled) {
    filter: brightness(1.06);
    box-shadow: 0 3px 12px rgba(37, 99, 235, 0.4);
    color: #fff !important;
}
.btn-create-fatura:disabled {
    opacity: 0.7;
    box-shadow: none;
}
.theme-dark .btn-create-fatura {
    box-shadow: 0 2px 10px rgba(8, 145, 178, 0.35);
}
.btn-download-fatura {
    width: 100%;
    padding: 0.7rem 1rem;
    font-weight: 700;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid rgba(22, 163, 74, 0.35);
    color: #166534 !important;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 55%, #bbf7d0 100%);
    box-shadow: 0 1px 4px rgba(22, 163, 74, 0.18);
}
.btn-download-fatura:hover:not(:disabled) {
    filter: brightness(0.98);
    border-color: rgba(22, 163, 74, 0.55);
    color: #14532d !important;
}
.btn-download-fatura:disabled {
    opacity: 0.7;
    box-shadow: none;
}
.theme-dark .btn-download-fatura {
    color: #bbf7d0 !important;
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.2) 0%, rgba(21, 128, 61, 0.28) 100%);
    border-color: rgba(74, 222, 128, 0.35);
}
.sale-detail-meta-item--fatura .fa-leaf {
    color: #16a34a;
}
.sale-detail-meta-item--fatura .fa-file-invoice {
    color: #d97706;
}
.reports-table td.col-belgeno .cmh-efatura-icon,
.reports-table td.col-belgeno .cmh-fatura-pending-icon {
    margin-left: 0;
    margin-right: 0.3rem;
    vertical-align: middle;
    flex-shrink: 0;
}
.sale-detail-actions-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}
.btn-sale-detail-print,
.btn-sale-detail-pdf {
    padding: 0.6rem 0.85rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border: 1px solid var(--border-color);
    background: #fff;
    color: var(--text-primary);
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.btn-sale-detail-print:hover,
.btn-sale-detail-pdf:hover {
    background: var(--bg-secondary, #f5f5f5);
    border-color: var(--primary, #e0143a);
    color: var(--primary, #e0143a);
}
.btn-sale-detail-pdf {
    border-color: #b0bec5;
    color: #37474f;
}
.btn-sale-detail-pdf:hover {
    border-color: #c62828;
    color: #c62828;
}
.split-payment-footer-actions {
    margin-bottom: 0.5rem;
}
.btn-split-discount {
    font-size: 0.9rem;
    padding: 0.4rem 0.75rem;
}
.slide-left-enter-active, .slide-left-leave-active {
    transition: transform 0.25s ease;
}
.slide-left-enter-from, .slide-left-leave-to {
    transform: translateX(100%);
}
.fade-enter-active, .fade-leave-active {
    transition: opacity 0.2s ease;
}
.fade-enter-from, .fade-leave-to {
    opacity: 0;
}

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

.reports-table td {
    padding: 0.45rem 0.6rem;
    font-size: 0.72rem;
    color: var(--text-primary);
    line-height: 1.3;
    /* "anywhere" tutarları ortadan bölüyordu (1.886→,06); yalnızca sığmayan uzun kelime kırılsın */
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    vertical-align: middle;
}

/* Belge / tahsilat no: ikon + numara yan yana */
.reports-table th.col-belgeno,
.reports-table td.col-belgeno {
    max-width: 8.5rem;
    width: 8.5rem;
}
.reports-table td.col-belgeno .col-belgeno-row {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    gap: 0;
}
.reports-table td.col-belgeno .col-belgeno-text {
    display: inline-block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    vertical-align: middle;
}

.reports-table .empty-state {
    text-align: center;
    padding: 1.5rem;
    color: var(--text-muted);
    font-size: 0.75rem;
}

.reports-table .empty-state i {
    font-size: 1.5rem;
    margin-bottom: 0.4rem;
    display: block;
}

/* Günlük (loglar): patron özeti + BETA teknik detay */
.reports-table .log-patron-summary-cell {
    max-width: 28rem;
    white-space: normal;
    word-break: break-word;
    font-size: 0.74rem;
    line-height: 1.35;
}
.reports-table tr.log-row--vukuat td {
    background: rgba(180, 70, 20, 0.10);
}
.theme-dark .reports-table tr.log-row--vukuat td {
    background: rgba(220, 110, 40, 0.16);
}
.log-vukuat-badge {
    display: inline-block;
    margin-right: 0.35rem;
    padding: 0.08rem 0.42rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    vertical-align: middle;
    color: #7a2e0a;
    background: #f5d0a8;
    border-radius: 4px;
}
.theme-dark .log-vukuat-badge {
    color: #ffd4a8;
    background: rgba(200, 90, 20, 0.38);
}
.reports-table .log-tech-col {
    width: 3rem;
    text-align: center;
    vertical-align: middle;
}
.log-dev-eye-btn {
    padding: 0.25rem 0.45rem;
    min-width: 2rem;
}
.log-dev-detail-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.log-dev-detail-modal {
    background: var(--white, #fff);
    color: var(--text-primary, #1a1a1a);
    border-radius: var(--border-radius, 8px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    max-width: min(96vw, 52rem);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--border-color, #ddd);
}
.theme-dark .log-dev-detail-modal {
    background: var(--white, #1e1e1e);
    color: var(--text-primary, #eee);
    border-color: var(--border-color, #444);
}
.log-dev-detail-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}
.theme-dark .log-dev-detail-modal-header {
    border-bottom-color: #444;
}
.log-dev-detail-modal-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}
.log-dev-detail-modal-hint {
    margin: 0;
    padding: 0.5rem 1rem 0;
    font-size: 0.72rem;
    color: var(--text-muted, #666);
}
.log-dev-detail-pre {
    margin: 0.5rem 1rem 1rem;
    padding: 0.75rem;
    font-size: 0.68rem;
    line-height: 1.35;
    overflow: auto;
    flex: 1;
    max-height: min(70vh, 36rem);
    white-space: pre-wrap;
    word-break: break-word;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 6px;
    border: 1px solid var(--border-color, #e8e8e8);
}
.theme-dark .log-dev-detail-pre {
    background: rgba(255, 255, 255, 0.06);
    border-color: #333;
}

.reports-summary {
    background-color: var(--white);
    border-radius: var(--border-radius);
    padding: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.reports-summary-section {
    display: grid;
    gap: 0;
    align-items: stretch;
}

.reports-summary-main {
    grid-template-columns: repeat(8, 1fr);
    border-bottom: 1px solid var(--border-color);
}

.reports-summary-payments {
    grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
}

.reports-table tr.row-cari-giris td {
    background: rgba(46, 125, 50, 0.06);
}
.reports-table tr.row-cari-cikis td {
    background: rgba(198, 40, 40, 0.06);
}

.reports-summary .summary-cell {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.45rem 0.6rem;
    border-right: 1px solid var(--border-color);
    min-width: 0;
}

.reports-summary .summary-cell:last-child {
    border-right: none;
}

.summary-cell--yemek-ceki {
    position: relative;
}

.summary-cell--clickable {
    cursor: pointer;
    transition: background 0.15s ease, box-shadow 0.15s ease;
}
.summary-cell--clickable:hover,
.summary-cell--has-detail:hover,
.summary-cell--platform:hover {
    background: rgba(15, 23, 42, 0.04);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}
.summary-cell-detail-icon {
    margin-left: 0.25rem;
    font-size: 0.68rem;
    opacity: 0.55;
    vertical-align: middle;
}
.summary-cell--platform .summary-label,
.summary-cell--yemek-ceki.summary-cell--has-detail .summary-label {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
}

.kasa-breakdown-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.kasa-breakdown-modal {
    width: min(720px, 96vw);
    max-height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.kasa-breakdown-body {
    overflow: auto;
    padding: 1rem 1.15rem 0.5rem;
}
.kasa-breakdown-hero {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.kasa-breakdown-pie {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 6px rgba(255,255,255,0.55), 0 4px 14px rgba(15, 23, 42, 0.12);
}
.kasa-breakdown-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 0.65rem 1rem;
    flex: 1;
    min-width: 220px;
}
.kasa-breakdown-stat-label {
    display: block;
    font-size: 0.72rem;
    color: var(--text-muted, #64748b);
    margin-bottom: 0.15rem;
}
.kasa-breakdown-stat strong {
    font-size: 1.05rem;
    color: var(--text-primary, #0f172a);
}
.kasa-breakdown-legend {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}
.kasa-breakdown-legend-item {
    display: grid;
    grid-template-columns: 12px 1fr auto auto;
    gap: 0.5rem;
    align-items: center;
    font-size: 0.84rem;
}
.kasa-breakdown-swatch {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}
.kasa-breakdown-legend-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kasa-breakdown-legend-pct {
    color: var(--text-muted, #64748b);
    font-variant-numeric: tabular-nums;
}
.kasa-breakdown-legend-amt {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.kasa-breakdown-platform-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.kasa-breakdown-platform-card {
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    background: #f8fafc;
}
.kasa-breakdown-platform-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
    font-size: 0.88rem;
}
.kasa-breakdown-platform-head span {
    color: var(--text-muted, #64748b);
}
.kasa-breakdown-kv-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.4rem 0.75rem;
}
.kasa-breakdown-kv-grid > div {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.78rem;
}
.kasa-breakdown-kv-grid span {
    color: var(--text-muted, #64748b);
}
.kasa-breakdown-kv-grid strong {
    font-size: 0.88rem;
}
.kasa-breakdown-note,
.kasa-breakdown-empty {
    margin: 0.85rem 0 0.25rem;
    font-size: 0.78rem;
    color: var(--text-muted, #64748b);
    line-height: 1.35;
}

.kasa-daybook-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.kasa-daybook-modal {
    width: min(980px, 96vw);
    max-width: 980px;
    max-height: min(90vh, 920px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
}
.kasa-daybook-modal.is-tab-ozet,
.kasa-daybook-modal.is-tab-detay {
    width: min(760px, 96vw);
    max-width: 760px;
}
.modal-content.kasa-daybook-modal:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    justify-content: stretch;
    align-items: center;
    text-align: left;
    padding: 0.5rem 0.65rem 0.55rem;
    gap: 0.5rem;
}
.modal-content.kasa-daybook-modal:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header h2 {
    flex: 0 0 auto;
    width: auto;
    text-align: left;
    font-size: 1.05rem;
    line-height: 1.2;
}
.modal-content.kasa-daybook-modal:not(.cancel-modal):not(.discount-modal):not(.payment-modal) > .modal-header .modal-close {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    z-index: 2;
    justify-self: end;
}
.kasa-daybook-header-text {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem 0.7rem;
    min-width: 0;
    text-align: left;
    justify-self: start;
}
.kasa-daybook-header-text h2 {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-daybook-subtitle {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.82);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-daybook-close-nav {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    padding: 0.4rem 0.75rem;
    background: #e8eef4;
    border-bottom: 1px solid #d0d7e0;
}
.theme-dark .kasa-daybook-close-nav {
    background: #1a2028;
    border-bottom-color: #2c3540;
}
.kasa-daybook-close-select {
    flex: 1 1 auto;
    min-width: 0;
}
.kasa-daybook-close-spin {
    color: #5b6b7c;
    font-size: 0.85rem;
}
.kasa-daybook-range-warn {
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.8rem;
    background: #fff7e0;
    border: 1px solid #e4c76a;
    border-radius: 8px;
    font-size: 0.85rem;
    line-height: 1.4;
    color: #5c4a12;
}
.theme-dark .kasa-daybook-range-warn {
    background: #3a3118;
    border-color: #8a7428;
    color: #f3e4a8;
}
.kasa-daybook-body {
    overflow: auto;
    padding: 0.85rem 1rem 1rem;
    background: #f4f6f8;
}
.theme-dark .kasa-daybook-body {
    background: #14181e;
}
.kasa-daybook-modal.is-tab-ozet .kasa-daybook-body {
    background: #f8fafc;
}
.theme-dark .kasa-daybook-modal.is-tab-ozet .kasa-daybook-body {
    background: #14181e;
}
.kasa-daybook-hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}
.kasa-daybook-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
    gap: 0.7rem;
    margin-bottom: 1rem;
}
.kasa-daybook-kpi {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.7rem 0.75rem 0.75rem;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--kpi-color, #64748b) 22%, #e5e7eb);
    background: color-mix(in srgb, var(--kpi-color, #64748b) 10%, #fff);
    box-shadow: none;
}
.theme-dark .kasa-daybook-kpi {
    background: color-mix(in srgb, var(--kpi-color, #64748b) 22%, #1a1e24);
    border-color: color-mix(in srgb, var(--kpi-color, #64748b) 36%, #2a3038);
}
.kasa-daybook-kpi-copy {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    flex: 1 1 auto;
}
.kasa-daybook-kpi-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    min-width: 0;
    width: 100%;
}
.kasa-daybook-kpi-icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--kpi-color, #64748b) 16%, #fff);
    color: var(--kpi-color, #64748b);
    font-size: 0.95rem;
}
.theme-dark .kasa-daybook-kpi-icon {
    background: color-mix(in srgb, var(--kpi-color, #64748b) 28%, #111);
}
.kasa-daybook-kpi-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--kpi-color, #64748b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-daybook-kpi strong {
    font-size: 1.18rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--kpi-color, #0f172a);
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-daybook-kpi.is-ciro strong { color: #16a34a; }
.kasa-daybook-kpi.is-tahsilat strong { color: #2563eb; }
.kasa-daybook-kpi.is-indirim strong { color: #ea580c; }
.kasa-daybook-kpi-hint {
    font-size: 0.68rem;
    line-height: 1.25;
    color: var(--text-muted);
    font-weight: 500;
}
.kasa-ciro-net-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    cursor: pointer;
    user-select: none;
    flex-shrink: 0;
}
.kasa-ciro-net-lab {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.kasa-daybook-kpi.is-ciro .app-switch {
    width: 30px;
    height: 16px;
}
.kasa-daybook-kpi.is-ciro .app-switch-slider::before {
    height: 12px;
    width: 12px;
    top: 2px;
    left: 2px;
}
.kasa-daybook-kpi.is-ciro .app-switch input:checked + .app-switch-slider::before,
.kasa-daybook-kpi.is-ciro .app-switch.is-checked .app-switch-slider::before {
    transform: translateX(14px);
}
.kasa-daybook-split {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(168px, 0.72fr);
    gap: 0.7rem;
    align-items: stretch;
    margin-bottom: 0.7rem;
}
.kasa-daybook-split .kasa-daybook-ledger {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.kasa-daybook-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.82fr);
    gap: 0.9rem 1.1rem;
    align-items: start;
}
.kasa-daybook-layout.is-solo {
    grid-template-columns: minmax(0, 1fr);
}
.kasa-daybook-tabs {
    display: flex;
    gap: 0.25rem;
    width: fit-content;
    margin: 0;
    padding: 0.16rem;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.2);
    justify-self: center;
}
.kasa-daybook-tab {
    border: none;
    background: transparent;
    min-width: 4.2rem;
    padding: 0.32rem 0.75rem;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
    cursor: pointer;
}
.kasa-daybook-tab.is-on {
    background: #fff;
    color: var(--primary, #b71c1c);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.theme-dark .kasa-daybook-tab.is-on {
    background: #fff;
    color: var(--primary, #b71c1c);
}
.kasa-daybook-section {
    margin: 0.85rem 0 0.25rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.kasa-daybook-methods {
    border: 1px solid #d5dbe3;
    border-radius: 12px;
    padding: 0.7rem 0.85rem 0.8rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.theme-dark .kasa-daybook-methods {
    background: #1a1e24;
    border-color: #2a3038;
}
.kasa-daybook-methods-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}
.kasa-daybook-methods-head strong {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-primary);
}
.kasa-daybook-methods-head span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #2e7d32;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.kasa-daybook-adj {
    margin-top: 0.85rem;
}
.kasa-daybook-adj .kasa-daybook-methods-head span {
    color: #1565c0;
}
.kasa-daybook-drawer {
    background: #edf6ea;
    border-color: #b7d4b0;
}
.theme-dark .kasa-daybook-drawer {
    background: color-mix(in srgb, #2e7d32 16%, #1a1e24);
    border-color: color-mix(in srgb, #2e7d32 35%, #2a3038);
}
.kasa-daybook-drawer .kasa-daybook-methods-head {
    align-items: center;
}
.kasa-daybook-drawer-put {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
    min-width: auto;
    height: 2rem;
    padding: 0 0.75rem;
    border-radius: 8px;
}
.kasa-daybook-line.is-leave-edit {
    align-items: center;
}
.kasa-daybook-leave-input {
    width: 6.75rem;
    height: 1.7rem;
    padding: 0 0.45rem;
    border: 1px solid #b7d4b0;
    border-radius: 7px;
    text-align: right;
    font-size: 0.88rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    background: #fff;
    color: var(--text-primary);
    box-sizing: border-box;
}
.kasa-daybook-leave-input:focus {
    outline: none;
    border-color: #2e7d32;
    box-shadow: 0 0 0 2px rgba(46, 125, 50, 0.16);
}
.kasa-daybook-leave-input:disabled {
    opacity: 0.65;
}
.theme-dark .kasa-daybook-leave-input {
    background: #111827;
    border-color: color-mix(in srgb, #2e7d32 40%, #2a3038);
    color: #e5e7eb;
}
.kasa-daybook-side {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}
.theme-dark .kasa-daybook-side {
    background: #1a1e24;
    border-color: #2a3038;
}
.kasa-daybook-stat {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}
.kasa-daybook-stat-icon {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.78rem;
    margin-top: 0.1rem;
}
.theme-dark .kasa-daybook-stat-icon {
    background: #111827;
    color: #94a3b8;
}
.kasa-daybook-stat-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 0.08rem;
}
.kasa-daybook-stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
}
.kasa-daybook-stat strong {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}
.kasa-daybook-stat.is-avg strong {
    font-size: 1.2rem;
}
.kasa-daybook-stat-hint {
    font-size: 0.7rem;
    color: var(--text-muted);
}
.kasa-daybook-done {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: auto;
    padding: 0.65rem 0.7rem;
    border-radius: 10px;
    background: #ecfdf5;
    color: #166534;
    font-size: 0.8rem;
    line-height: 1.3;
}
.kasa-daybook-done i {
    margin-top: 0.12rem;
    color: #16a34a;
}
.kasa-daybook-done strong {
    display: block;
    font-weight: 700;
}
.kasa-daybook-done span {
    display: block;
    margin-top: 0.1rem;
    color: #4ade80;
    font-size: 0.72rem;
    font-weight: 600;
}
.theme-dark .kasa-daybook-done {
    background: color-mix(in srgb, #16a34a 18%, #1a1e24);
    color: #bbf7d0;
}
.kasa-daybook-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-shrink: 0;
    padding: 0.7rem 1rem 0.8rem;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}
.theme-dark .kasa-daybook-foot {
    background: #1a1e24;
    border-top-color: #2a3038;
}
.kasa-daybook-foot .btn-primary {
    min-width: 6.5rem;
    border-radius: 10px;
    font-weight: 700;
}
@media (max-width: 720px) {
    .kasa-daybook-hero,
    .kasa-daybook-split {
        grid-template-columns: 1fr;
    }
    .kasa-daybook-kpi strong {
        font-size: 1.05rem;
    }
}
.kasa-daybook-drawer .kasa-daybook-line {
    border-top: 1px solid color-mix(in srgb, #2e7d32 16%, #d5dbe3);
    padding: 0.42rem 0;
}
.kasa-daybook-drawer .kasa-daybook-line:first-of-type {
    border-top: none;
}
.kasa-daybook-drawer .kasa-daybook-line.is-total {
    margin-top: 0.15rem;
    border-top: 2px solid #2e7d32;
}
.kasa-daybook-line.is-leave .kasa-daybook-lab,
.kasa-daybook-line.is-leave .kasa-daybook-amt {
    color: #33691e;
    font-weight: 700;
}
.kasa-daybook-line.is-taken .kasa-daybook-lab,
.kasa-daybook-line.is-taken .kasa-daybook-op,
.kasa-daybook-line.is-taken .kasa-daybook-amt {
    color: #c62828;
    font-weight: 700;
}
.kasa-daybook-put-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.85rem;
    margin-top: 0;
    margin-bottom: 0.75rem;
    background: #edf6ea;
    border-color: #b7d4b0;
}
.kasa-daybook-put-card .kasa-daybook-float-label {
    margin-bottom: 0;
    color: #1b5e20;
}
.theme-dark .kasa-daybook-put-card {
    background: color-mix(in srgb, #2e7d32 16%, #1a1e24);
    border-color: color-mix(in srgb, #2e7d32 35%, #2a3038);
}
.theme-dark .kasa-daybook-put-card .kasa-daybook-float-label {
    color: #a5d6a7;
}
.kasa-daybook-put-card .kasa-daybook-float-hint {
    flex: 1 1 12rem;
    margin: 0;
}
.kasa-daybook-put-card .kasa-daybook-float-btn {
    min-width: 10rem;
    margin-left: auto;
}
.kasa-daybook-section-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.kasa-daybook-section-row .btn {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
}
.kasa-daybook-float-card {
    margin-top: 0.85rem;
    padding: 0.85rem 0.9rem 0.9rem;
    border-radius: 12px;
    background: #fff7e0;
    border: 1px solid #e4c76a;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.theme-dark .kasa-daybook-float-card {
    background: color-mix(in srgb, #f9a825 16%, #1a1e24);
    border-color: color-mix(in srgb, #f9a825 40%, #2a3038);
}
.kasa-daybook-float-card .kasa-daybook-float-label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.92rem;
    font-weight: 800;
    color: #7a5b00;
}
.theme-dark .kasa-daybook-float-card .kasa-daybook-float-label {
    color: #ffcc66;
}
.kasa-daybook-float {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.kasa-daybook-float-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-primary);
}
.kasa-daybook-float-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: stretch;
}
.kasa-daybook-float-input,
.kasa-float-input {
    width: 100%;
    height: 2.55rem;
    padding: 0 0.85rem;
    border: 1px solid #d6c48a;
    border-radius: 10px;
    font-size: 1.12rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    background: #fff;
    color: var(--text-primary);
    box-sizing: border-box;
}
.kasa-float-input {
    border-color: var(--border-color);
}
.kasa-daybook-float-input:focus,
.kasa-float-input:focus {
    outline: none;
    border-color: #c9a227;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.22);
}
.kasa-daybook-float-input:disabled {
    opacity: 0.65;
}
.kasa-daybook-float-btn {
    min-width: 6.6rem;
    height: 2.55rem;
    padding: 0 1.05rem;
    border-radius: 10px;
    font-weight: 800;
}
.kasa-daybook-float-taken {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
    color: var(--text-muted);
}
.kasa-daybook-float-taken strong {
    color: #c62828;
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
}
.kasa-daybook-float-hint {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #8a6d14;
}
.theme-dark .kasa-daybook-float-hint {
    color: #e6c56a;
}
.kasa-saglama {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.kasa-saglama-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.kasa-saglama-dunkuk {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    padding: 0.55rem 0.85rem;
    background: #fff7e0;
    border: 1px solid #e4c76a;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #7a5b00;
}
.kasa-saglama-dunkuk strong {
    font-size: 1.1rem;
    font-variant-numeric: tabular-nums;
}
.kasa-saglama-actions {
    display: flex;
    gap: 0.4rem;
}
.kasa-saglama-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    align-items: start;
}
.kasa-saglama-col {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.kasa-saglama-card {
    background: #fff;
    border: 1px solid #d5dbe3;
    border-radius: 12px;
    padding: 0.7rem 0.85rem 0.8rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.theme-dark .kasa-saglama-card {
    background: #1a1e24;
    border-color: #2a3038;
}
.kasa-saglama-card h3 {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.kasa-saglama-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.32rem 0;
    border-top: 1px solid #edf0f3;
    font-size: 0.88rem;
}
.kasa-saglama-card .kasa-saglama-row:first-of-type {
    border-top: none;
}
.kasa-saglama-row span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-saglama-row strong {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.kasa-saglama-row.is-sum {
    margin-top: 0.25rem;
    border-top: 2px solid var(--text-primary);
    font-weight: 800;
}
.kasa-saglama-verdict {
    margin-top: 0.2rem;
    padding: 0.15rem 0 0;
    border-top: 2px solid var(--text-primary);
}
.kasa-saglama-row.is-hero {
    padding: 0.55rem 0;
    font-weight: 800;
}
.kasa-saglama-row.is-hero span {
    font-size: 0.98rem;
    font-weight: 800;
    overflow: visible;
    text-overflow: unset;
}
.kasa-saglama-row.is-hero strong {
    font-size: 1.48rem;
    letter-spacing: -0.03em;
    line-height: 1.15;
}
.kasa-saglama-row.is-hero.is-fark strong {
    font-size: 1.62rem;
}
.theme-dark .kasa-saglama-verdict {
    border-top-color: #e5e7eb;
}
.kasa-saglama-row.is-drop strong {
    color: #c62828;
}
.kasa-saglama-row.is-enter,
.kasa-saglama-row.has-hint {
    align-items: center;
}
.kasa-saglama-row.is-enter span,
.kasa-saglama-row.has-hint span {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
}
.kasa-saglama-row.is-enter span small,
.kasa-saglama-row span small {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: none;
    letter-spacing: 0;
}
.kasa-saglama-enter-meta {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 8.8rem 1.5rem 9.5rem;
    align-items: center;
    column-gap: 0.3rem;
}
.kasa-saglama-expect {
    grid-column: 1;
    justify-self: end;
    font-size: 0.92rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
    white-space: nowrap;
}
.kasa-saglama-expect.is-ok { color: #2e7d32; }
.kasa-saglama-expect.is-off { color: #c62828; }
.kasa-saglama-enter-meta > .kasa-saglama-inline-ok {
    grid-column: 2;
    justify-self: center;
}
.kasa-saglama-row.is-enter .kasa-daybook-float-input {
    grid-column: 3;
    width: 9.5rem;
    text-align: right;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.kasa-saglama-row.is-enter .kasa-daybook-float-input.is-win {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}
.kasa-saglama-inline-ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 50%;
    background: #22c55e;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    animation: kasa-saglama-win-pop 0.4s ease-out;
}
.kasa-saglama-quests {
    display: flex;
    gap: 0.45rem;
    margin: 0.5rem 0 0.1rem;
}
.kasa-saglama-quest {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    background: #f1f5f9;
    color: #64748b;
}
.kasa-saglama-quest.is-ok {
    background: #dcfce7;
    color: #166534;
}
.kasa-saglama-quest.is-no {
    background: #fee2e2;
    color: #991b1b;
}
.kasa-saglama-quest-mark {
    font-size: 0.85rem;
    line-height: 1;
}
.kasa-saglama-win {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0.65rem -0.2rem 0.1rem;
    padding: 0.72rem 0.85rem;
    border-radius: 12px;
    animation: kasa-saglama-win-pop 0.45s ease-out;
}
.kasa-saglama-win.is-nakit,
.kasa-saglama-win.is-ciro {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border: 1px solid #6ee7b7;
    color: #065f46;
}
.kasa-saglama-win.is-full {
    background: linear-gradient(135deg, #fffbeb, #d1fae5 55%, #dbeafe);
    border: 1px solid #fbbf24;
    color: #14532d;
}
.kasa-saglama-win-check {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: #22c55e;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 800;
    flex: 0 0 auto;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.38);
}
.kasa-saglama-win.is-full .kasa-saglama-win-check {
    background: linear-gradient(135deg, #f59e0b, #22c55e);
}
.kasa-saglama-win strong {
    display: block;
    font-size: 1.05rem;
}
.kasa-saglama-win small {
    display: block;
    margin-top: 0.12rem;
    opacity: 0.88;
    font-weight: 600;
    font-size: 0.78rem;
}
.kasa-saglama-foot.is-perfect {
    box-shadow: 0 0 0 2px #86efac, 0 10px 28px rgba(34, 197, 94, 0.14);
}
.kasa-saglama-confetti {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 30;
}
.kasa-saglama-confetti i {
    position: absolute;
    top: -14px;
    left: var(--x);
    width: var(--w);
    height: calc(var(--w) * 0.42);
    background: var(--c);
    border-radius: 1px;
    transform: rotate(var(--r));
    animation: kasa-saglama-fall var(--dur) ease-in var(--delay) forwards;
}
@keyframes kasa-saglama-win-pop {
    0% { transform: scale(0.72); opacity: 0; }
    70% { transform: scale(1.08); }
    100% { transform: scale(1); opacity: 1; }
}
@keyframes kasa-saglama-fall {
    0% { transform: translate3d(0, 0, 0) rotate(var(--r)); opacity: 1; }
    100% { transform: translate3d(var(--dx), 110vh, 0) rotate(540deg); opacity: 0; }
}
.theme-dark .kasa-saglama-expect { color: #94a3b8; }
.theme-dark .kasa-saglama-expect.is-ok { color: #86efac; }
.theme-dark .kasa-saglama-expect.is-off { color: #fca5a5; }
.theme-dark .kasa-saglama-row.is-enter .kasa-daybook-float-input.is-win {
    background: rgba(34, 197, 94, 0.16);
    border-color: #166534;
    color: #86efac;
}
.theme-dark .kasa-saglama-quest { background: #24303c; color: #94a3b8; }
.theme-dark .kasa-saglama-quest.is-ok { background: rgba(34, 197, 94, 0.18); color: #86efac; }
.theme-dark .kasa-saglama-quest.is-no { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }
.theme-dark .kasa-saglama-win.is-nakit,
.theme-dark .kasa-saglama-win.is-ciro {
    background: rgba(34, 197, 94, 0.16);
    border-color: #166534;
    color: #bbf7d0;
}
.theme-dark .kasa-saglama-win.is-full {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(34, 197, 94, 0.16));
    border-color: #ca8a04;
    color: #fde68a;
}
.kasa-saglama-row.is-fark.is-ok strong { color: #2e7d32; }
.kasa-saglama-row.is-fark.is-fazla strong { color: #2e7d32; }
.kasa-saglama-row.is-fark.is-eksik strong { color: #c62828; }
.kasa-saglama-actions .btn.is-on {
    box-shadow: inset 0 0 0 1px #2563eb;
}
.kasa-saglama-card.kasa-saglama-formula {
    padding: 0.55rem 0.75rem 0.6rem;
}
.kasa-saglama-formula-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}
.kasa-saglama-formula-top h3 {
    margin: 0;
}
.kasa-saglama-formula-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0;
}
.kasa-saglama-chip {
    border: 1px solid #d5dbe3;
    background: #f8fafc;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}
.kasa-saglama-chip:disabled {
    opacity: 0.55;
    cursor: default;
}
.kasa-saglama-chip.is-on {
    background: #e8f0fe;
    border-color: #2563eb;
    color: #1d4ed8;
}
.theme-dark .kasa-saglama-chip {
    background: #1a1e24;
    border-color: #3a424c;
    color: #e5e7eb;
}
.theme-dark .kasa-saglama-chip.is-on {
    background: color-mix(in srgb, #2563eb 22%, #1a1e24);
    border-color: #3b82f6;
    color: #93c5fd;
}
.kasa-saglama-formula-rows {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
}
.kasa-saglama-formula-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}
.kasa-saglama-formula-row > span {
    flex: 0 0 4.4rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.kasa-saglama-formula-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    min-width: 0;
}
@media (max-width: 800px) {
    .kasa-saglama-formula-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.2rem;
    }
    .kasa-saglama-formula-row > span {
        flex: none;
    }
}
.kasa-saglama-badge {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.08rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #92400e;
    background: #fef3c7;
    vertical-align: middle;
}
.kasa-saglama-badge.is-gs {
    color: #14532d;
    background: #dcfce7;
}
.kasa-saglama-count-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.2fr) minmax(8rem, 0.8fr) minmax(8rem, 0.9fr);
    gap: 0.65rem 1rem;
    align-items: end;
    padding: 0.55rem 0;
    border-top: 1px solid #edf0f3;
}
.kasa-saglama-count .kasa-saglama-count-row:first-of-type {
    border-top: none;
}
.kasa-saglama-count-field {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    min-width: 0;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-muted);
}
.kasa-saglama-count-prog {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.75rem;
    color: var(--text-muted);
}
.kasa-saglama-count-prog strong {
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
    color: inherit;
}
.kasa-saglama-count-fark {
    margin: 0;
    padding: 0.2rem 0 0;
    border-top: none;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
}
.kasa-saglama-count-fark span {
    font-size: 0.72rem;
    font-weight: 700;
    text-align: right;
}
@media (max-width: 720px) {
    .kasa-saglama-count-row { grid-template-columns: 1fr; }
    .kasa-saglama-count-fark { align-items: flex-start; }
}
.kasa-saglama-hint {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    line-height: 1.4;
    color: var(--text-muted);
}
.kasa-saglama-foot .kasa-saglama-hint {
    margin-top: 0.55rem;
}
.kasa-saglama-foot .kasa-saglama-open-warn {
    margin: 0.65rem 0 0;
}
.theme-dark .kasa-saglama-dunkuk {
    background: color-mix(in srgb, #f9a825 16%, #1a1e24);
    border-color: color-mix(in srgb, #f9a825 40%, #2a3038);
    color: #ffcc66;
}
@media (max-width: 720px) {
    .kasa-saglama-grid { grid-template-columns: 1fr; }
}
.kasa-float-swal {
    width: min(440px, 94vw) !important;
    padding: 1.2rem 1.2rem 1rem !important;
    border-radius: 16px !important;
    background: #eef2f6 !important;
}
.kasa-float-swal-title {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    padding: 0 !important;
    margin: 0 0 0.7rem !important;
    color: var(--text-primary, #1f2937) !important;
    text-align: left !important;
}
.kasa-float-swal-html {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.kasa-float-swal .swal2-html-container {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
.kasa-float-swal-actions {
    margin: 1rem 0 0 !important;
    width: 100% !important;
    gap: 0.5rem !important;
}
.kasa-float-swal-confirm,
.kasa-float-swal-cancel {
    border-radius: 10px !important;
    font-weight: 700 !important;
    padding: 0.55rem 1.05rem !important;
    flex: 1 1 auto;
}
.kasa-float {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-width: 0;
}
.kasa-float-lead {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-secondary, #4b5563);
}
.kasa-float-kpis {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.kasa-float-kpi {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.55rem 0.7rem;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, #2e7d32 34%, #d5dbe3);
    border-left: 4px solid #2e7d32;
    background: color-mix(in srgb, #2e7d32 18%, #fff);
    min-width: 0;
}
.kasa-float-kpi.is-card {
    border-color: color-mix(in srgb, #1565c0 34%, #d5dbe3);
    border-left-color: #1565c0;
    background: color-mix(in srgb, #1565c0 18%, #fff);
}
.kasa-float-kpi span {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-muted);
}
.kasa-float-kpi strong {
    font-size: 1.05rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #2e7d32;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kasa-float-kpi.is-card strong {
    color: #1565c0;
}
.kasa-float-lines {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.65rem 0.8rem;
    background: #fff;
    border-radius: 10px;
}
.kasa-float-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.86rem;
    color: var(--text-primary);
}
.kasa-float-line strong {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}
.kasa-float-line.is-taken {
    color: #c62828;
}
.kasa-float-field {
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    padding: 0.7rem 0.8rem 0.8rem;
    background: #fff7e0;
    border: 1px solid #e4c76a;
    border-radius: 12px;
}
.kasa-float-field > span {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-primary);
}
.kasa-float-hint {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--text-muted);
}
.theme-dark .kasa-float-kpi {
    background: color-mix(in srgb, #2e7d32 18%, #1a1e24);
}
.theme-dark .kasa-float-kpi.is-card {
    background: color-mix(in srgb, #1565c0 18%, #1a1e24);
}
.theme-dark .kasa-daybook-float-input,
.theme-dark .kasa-float-input {
    background: rgba(255, 255, 255, 0.04);
}
.theme-dark .kasa-float-swal-title {
    color: var(--text-primary, #f3f4f6) !important;
}
.theme-dark .kasa-float-swal {
    background: #14181e !important;
}
.theme-dark .kasa-float-lead {
    color: var(--text-muted, #9ca3af);
}
.kasa-daybook-method.is-out .kasa-daybook-method-amt {
    color: #c62828;
}
.kasa-daybook-method {
    display: grid;
    grid-template-columns: 1.6rem minmax(0, 1fr) auto auto 0.9rem;
    grid-template-areas:
        "icon name amt pct chev"
        "bar bar bar bar bar"
        "kids kids kids kids kids";
    align-items: center;
    column-gap: 0.45rem;
    row-gap: 0.22rem;
    padding: 0.42rem 0;
    border-top: 1px solid var(--border-color);
}
.kasa-daybook-method:first-of-type { border-top: none; }
.kasa-daybook-method.is-zero { opacity: 0.5; }
.kasa-daybook-method.has-kids {
    cursor: pointer;
    border-radius: 8px;
    margin: 0 -0.35rem;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}
.kasa-daybook-method.has-kids:hover {
    background: color-mix(in srgb, var(--kpi-color, #64748b) 8%, transparent);
}
.kasa-daybook-method.has-kids:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--kpi-color, #64748b) 55%, transparent);
    outline-offset: 1px;
}
.kasa-daybook-method-chevron {
    grid-area: chev;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.62rem;
    transition: transform 0.15s ease;
}
.kasa-daybook-method.is-open .kasa-daybook-method-chevron {
    transform: rotate(180deg);
    color: var(--kpi-color, #64748b);
}
.kasa-daybook-method-icon {
    grid-area: icon;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--kpi-color, #64748b) 16%, #fff);
    color: var(--kpi-color, #64748b);
    font-size: 0.7rem;
}
.kasa-daybook-method-name {
    grid-area: name;
    font-size: 0.86rem;
    font-weight: 600;
    color: var(--text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kasa-daybook-method-amt {
    grid-area: amt;
    font-size: 0.86rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.kasa-daybook-method-pct {
    grid-area: pct;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    min-width: 2.6rem;
    text-align: right;
}
.kasa-daybook-method-bar {
    grid-area: bar;
    height: 5px;
    border-radius: 99px;
    background: color-mix(in srgb, var(--kpi-color, #64748b) 12%, #e5e7eb);
    overflow: hidden;
}
.kasa-daybook-method-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--kpi-color, #64748b);
}
.kasa-daybook-method-kids {
    grid-area: kids;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.1rem 0 0 2.05rem;
}
.kasa-daybook-method-kid {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}
.kasa-daybook-off-hint {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    color: var(--text-muted);
    line-height: 1.35;
}
.kasa-daybook-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}
.kasa-daybook-table th {
    text-align: left;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid var(--border-color);
}
.kasa-daybook-table th.amt,
.kasa-daybook-table td.amt {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    font-weight: 650;
}
.kasa-daybook-table td {
    padding: 0.32rem 0.55rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    vertical-align: top;
}
.kasa-daybook-table tr.is-group td {
    font-weight: 700;
    background: #f8fafc;
    border-top: 1px solid var(--border-color);
}
.theme-dark .kasa-daybook-table tr.is-group td {
    background: rgba(255, 255, 255, 0.04);
}
.kasa-daybook-table tr.is-child td {
    font-size: 0.8rem;
    color: var(--text-muted);
    font-weight: 400;
    padding-left: 1.15rem;
}
.kasa-daybook-table tr.is-child td:first-child {
    padding-left: 0.55rem;
}
.kasa-daybook-table .kasa-daybook-op {
    width: 1.1rem;
    text-align: center;
}
.kasa-daybook-section.is-muted {
    margin-top: 1.1rem;
}
.kasa-daybook-empty {
    padding: 0.35rem 0;
    font-size: 0.82rem;
    color: var(--text-muted);
}
.kasa-daybook-line {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: baseline;
    padding: 0.28rem 0;
    font-size: 0.9rem;
}
.kasa-daybook-line.is-child {
    padding: 0.08rem 0 0.08rem 0.15rem;
    font-size: 0.78rem;
}
.kasa-daybook-line.is-child .kasa-daybook-lab,
.kasa-daybook-line.is-child .kasa-daybook-amt {
    color: var(--text-muted);
    font-weight: 400;
}
.kasa-daybook-line.is-child.is-receipt .kasa-daybook-lab {
    font-variant-numeric: tabular-nums;
}
.kasa-daybook-op {
    font-weight: 700;
    color: var(--text-muted);
    text-align: center;
}
.kasa-daybook-line.is-plus .kasa-daybook-op,
.kasa-daybook-line.is-plus .kasa-daybook-amt {
    color: var(--success, #2e7d32);
}
.kasa-daybook-line.is-minus .kasa-daybook-op,
.kasa-daybook-line.is-minus .kasa-daybook-amt {
    color: var(--danger, #c62828);
}
.kasa-daybook-lab {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    color: var(--text-secondary);
}
.kasa-daybook-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    flex-shrink: 0;
    align-self: center;
}
.kasa-daybook-lab small {
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--text-muted);
}
.kasa-daybook-amt {
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--text-primary);
}
.kasa-daybook-line.is-cash {
    margin-top: 0.2rem;
    padding: 0.5rem 0.45rem;
    border-radius: 8px;
    background: color-mix(in srgb, #2e7d32 10%, #fff);
    border: 1px solid color-mix(in srgb, #2e7d32 22%, transparent);
}
.theme-dark .kasa-daybook-line.is-cash {
    background: color-mix(in srgb, #2e7d32 16%, #1a1e24);
}
.kasa-daybook-line.is-cash .kasa-daybook-lab,
.kasa-daybook-line.is-cash .kasa-daybook-op,
.kasa-daybook-line.is-cash .kasa-daybook-amt {
    color: #2e7d32;
    font-weight: 800;
}
.kasa-daybook-line.is-cash .kasa-daybook-amt {
    font-size: 1.05rem;
}
.kasa-daybook-line.is-total {
    margin-top: 0.55rem;
    padding: 0.55rem 0 0.35rem;
    border-top: 2px solid var(--text-primary);
}
.kasa-daybook-line.is-total .kasa-daybook-lab,
.kasa-daybook-line.is-total .kasa-daybook-op,
.kasa-daybook-line.is-total .kasa-daybook-amt {
    color: var(--success, #2e7d32);
    font-weight: 700;
}
.kasa-daybook-line.is-total .kasa-daybook-amt {
    font-size: 1.15rem;
}
.kasa-daybook-line.is-muted .kasa-daybook-amt,
.kasa-daybook-line.is-muted .kasa-daybook-lab {
    color: var(--text-muted);
    font-weight: 500;
}
.kasa-daybook-formula {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}
.kasa-daybook-charts {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.kasa-daybook-pie-card {
    flex: none;
    min-width: 0;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.55rem 0.65rem 0.6rem;
    background: var(--bg-secondary, #f8f9fb);
}
.theme-dark .kasa-daybook-pie-card {
    background: rgba(255, 255, 255, 0.03);
}
.kasa-daybook-pie-card h3 {
    margin: 0 0 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.kasa-daybook-pie-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.kasa-daybook-pie {
    width: 92px;
    height: 92px;
    flex-shrink: 0;
}
.kasa-daybook-legend {
    flex: 1;
    min-width: 0;
    margin: 0;
}
.kasa-daybook-legend .kasa-breakdown-legend-item {
    grid-template-columns: 10px minmax(0, 1fr) auto auto;
    align-items: start;
    font-size: 0.78rem;
    gap: 0.4rem 0.5rem;
}
.kasa-daybook-legend .kasa-breakdown-legend-name {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.3;
}
.kasa-daybook-legend .kasa-breakdown-legend-pct {
    display: inline;
    flex-shrink: 0;
}
@media (max-width: 820px) {
    .kasa-daybook-layout {
        grid-template-columns: 1fr;
    }
    .kasa-daybook-charts {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .kasa-daybook-pie-card {
        flex: 1 1 16rem;
    }
}
@media (max-width: 560px) {
    .kasa-daybook-kpis { grid-template-columns: 1fr; }
    .kasa-daybook-kpi strong { font-size: 1.15rem; }
}

.yemek-ceki-breakdown-popover {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    transform: translateX(-50%);
    z-index: 50;
    min-width: 180px;
    max-width: min(280px, 90vw);
    padding: 0.5rem 0.65rem;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    pointer-events: auto;
}
.yemek-ceki-breakdown-popover--teleport {
    position: fixed;
    transform: none;
    left: auto;
    bottom: auto;
    z-index: 20000;
}

.yemek-ceki-breakdown-title {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #666);
    margin-bottom: 0.35rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--border-color);
}

.yemek-ceki-breakdown-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.8rem;
    padding: 0.2rem 0;
}

.yemek-ceki-breakdown-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.yemek-ceki-breakdown-amount {
    font-weight: 600;
    white-space: nowrap;
}

.reports-summary-silinen .silinen-stats-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--border-color);
}
.reports-summary-silinen .silinen-compare-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--border-color);
}
.reports-summary-silinen .silinen-staff-row .summary-cell-full {
    grid-column: 1 / -1;
    border-right: none;
}
.silinen-summary-wrap .staff-cancel-badge,
.reports-summary-silinen .staff-cancel-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.55rem;
    background: rgba(198, 40, 40, 0.1);
    border: 1px solid rgba(198, 40, 40, 0.18);
    border-radius: 999px;
    font-size: 0.75rem;
    color: var(--text-primary);
    white-space: nowrap;
}
.silinen-summary-wrap .staff-cancel-badge strong,
.reports-summary-silinen .staff-cancel-badge strong {
    font-weight: 800;
    color: #c62828;
}
.theme-dark .silinen-summary-wrap .staff-cancel-badge,
.theme-dark .reports-summary-silinen .staff-cancel-badge {
    background: rgba(239, 83, 80, 0.15);
    border-color: rgba(239, 83, 80, 0.25);
}
.reports-summary-silinen .silinen-staff-row .summary-value {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

/* Kasa > Silinen: alt özet — tek satır */
.silinen-summary-wrap {
    margin-top: 0.25rem;
}
.silinen-summary-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    padding: 0.55rem 0.85rem;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow-x: auto;
    scrollbar-width: thin;
}
.silinen-summary-stat {
    display: inline-flex;
    align-items: baseline;
    gap: 0.45rem;
    flex-shrink: 0;
    padding: 0.15rem 0;
    white-space: nowrap;
}
.silinen-summary-label {
    font-size: 0.68rem;
    color: var(--text-muted);
    font-weight: 500;
}
.silinen-summary-value {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-primary);
}
.silinen-summary-stat--total .silinen-summary-value {
    color: #c62828;
    font-size: 0.95rem;
}
.silinen-summary-stat--up .silinen-summary-value { color: #c62828; }
.silinen-summary-stat--down .silinen-summary-value { color: var(--success, #2e7d32); }
.silinen-summary-stat--muted .silinen-summary-value {
    font-size: 0.82rem;
    font-weight: 600;
}
.silinen-summary-stat--staff {
    align-items: center;
}
.silinen-summary-badges {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.3rem;
    align-items: center;
}
.silinen-summary-divider {
    flex-shrink: 0;
    width: 1px;
    height: 1.4rem;
    margin: 0 0.85rem;
    background: var(--border-color);
}
.silinen-summary-wrap + .reports-actions {
    margin-top: 1.25rem;
}
.theme-dark .silinen-summary-bar {
    background: var(--card-bg, #1e1e1e);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.reports-summary .summary-label {
    font-size: 0.65rem;
    color: var(--text-muted);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
    margin-bottom: 0.12rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reports-summary .summary-value {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reports-summary .summary-value-tutar {
    color: #1565c0;
}
.reports-summary .summary-value-tahsilat {
    color: var(--success, #2e7d32);
}
.reports-summary .summary-value-indirim {
    color: #e65100;
}
.reports-summary .summary-value-iptal {
    color: var(--danger, #c62828);
}
.reports-summary .summary-value-discount {
    color: var(--success, #2e7d32);
}
.reports-summary .summary-value-cancelled {
    color: var(--danger, #c62828);
}

.theme-dark .reports-summary .summary-cell {
    border-right-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .reports-summary-section {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

@media (max-width: 900px) {
    .reports-summary-main { grid-template-columns: repeat(4, 1fr); }
    .reports-summary .summary-cell:nth-child(4n) { border-right: none; }
    .reports-summary-main .summary-cell:nth-child(4n + 1) { border-right: 1px solid var(--border-color); }
}
@media (max-width: 500px) {
    .reports-summary-main { grid-template-columns: repeat(2, 1fr); }
    .reports-summary-payments { grid-template-columns: repeat(2, 1fr); }
    .reports-summary .summary-cell:nth-child(2n) { border-right: none; }
    .reports-summary .summary-cell { border-right: 1px solid var(--border-color); }
}

.summary-label {
    font-weight: 500;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.summary-value {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 1rem;
}

.reports-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.reports-actions-left {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.reports-action-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

/* Kasa Bugün: varsayılan buton (dışı default), ikon renkli */
.reports-action-btn {
    padding: 1rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: var(--white, #fff);
    color: var(--text-primary, #333);
}

.reports-action-btn:hover {
    background: var(--light-gray, #f5f5f5);
    border-color: var(--medium-gray, #ccc);
    transform: translateY(-1px);
}

.reports-action-btn i {
    font-size: 0.9rem;
}

.reports-action-btn-print i { color: #1976d2; }
.reports-action-btn-a4 i { color: #1565c0; }
.reports-action-btn-pdf i { color: #d32f2f; }
.reports-action-btn-excel i { color: #0d7d4d; }
.reports-action-btn-expense i { color: #c62828; }
.reports-action-btn-income i { color: #2e7d32; }
.reports-action-btn-variance i { color: #e65100; }

.kasa-variance-modal {
    width: min(520px, 96vw);
    max-height: min(88vh, 820px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.kasa-variance-body {
    overflow: auto;
    padding: 1rem 1.15rem 0.75rem;
}
.kasa-variance-lead {
    margin: 0 0 0.85rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #555);
    line-height: 1.4;
}
.kasa-variance-kinds {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}
.kasa-variance-kind {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    color: var(--text-primary, #333);
    font-weight: 600;
    cursor: pointer;
}
.kasa-variance-kind.active {
    border-color: #c62828;
    background: rgba(198, 40, 40, 0.08);
    color: #c62828;
}
.kasa-variance-kind--fazla.active {
    border-color: #2e7d32;
    background: rgba(46, 125, 50, 0.08);
    color: #2e7d32;
}
.kasa-variance-amount-label {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    margin-bottom: 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
}
.kasa-variance-amount {
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    font-size: 1.05rem;
    font-weight: 700;
}
.kasa-variance-analyze { width: 100%; }
.kasa-variance-hints { margin-top: 1rem; }
.kasa-variance-hints h3 {
    margin: 0 0 0.5rem;
    font-size: 0.88rem;
}
.kasa-variance-hint {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    width: 100%;
    margin-bottom: 0.45rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--border-color, #eee);
    border-radius: 10px;
    background: var(--card-bg, #fff);
    text-align: left;
    color: inherit;
    cursor: default;
}
.kasa-variance-hint--clickable { cursor: pointer; }
.kasa-variance-hint--clickable:hover { border-color: var(--primary, #1976d2); }
.kasa-variance-hint strong { font-size: 0.86rem; }
.kasa-variance-hint span { font-size: 0.8rem; color: var(--text-secondary, #555); line-height: 1.35; }
.kasa-variance-hint em {
    font-size: 0.72rem;
    font-style: normal;
    color: var(--primary, #1976d2);
    font-weight: 600;
}
.kasa-variance-hint-tone {
    display: inline-block;
    margin-bottom: 0.15rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.kasa-variance-hint--high {
    border-color: #2e7d32;
    background: rgba(46, 125, 50, 0.1);
}
.kasa-variance-hint--high .kasa-variance-hint-tone {
    background: #2e7d32;
    color: #fff;
}
.kasa-variance-hint--high strong { color: #1b5e20; }
.kasa-variance-hint--mid {
    border-color: #ef6c00;
    background: rgba(239, 108, 0, 0.08);
}
.kasa-variance-hint--mid .kasa-variance-hint-tone {
    background: #ef6c00;
    color: #fff;
}
.kasa-variance-hint--mid strong { color: #e65100; }
.kasa-variance-hint--low {
    border-color: #90a4ae;
    background: rgba(144, 164, 174, 0.1);
}
.kasa-variance-hint--low .kasa-variance-hint-tone {
    background: #607d8b;
    color: #fff;
}
.kasa-variance-hint--low strong { color: #455a64; }
.kasa-variance-empty { font-size: 0.82rem; color: var(--text-secondary); margin: 0.65rem 0 0; line-height: 1.4; }
.kasa-variance-error { color: #c62828; font-weight: 600; }
.kasa-variance-footer { display: flex; justify-content: flex-end; gap: 0.5rem; }

.release-notes-overlay { align-items: center; }
.release-notes-modal {
    width: min(720px, 94vw);
    max-height: 86vh;
    display: flex;
    flex-direction: column;
}
.release-notes-body {
    overflow-y: auto;
    max-height: 62vh;
}
.release-notes-lead {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: var(--text-secondary, #555);
}
.release-notes-lead strong { margin-left: 0.35rem; color: var(--text-primary, #222); }
.release-notes-app-ver {
    display: inline-block;
    margin-left: 0.55rem;
    padding: 0.12rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    vertical-align: middle;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    color: inherit;
}
.release-notes-entry {
    margin-bottom: 1rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--border-color, #e6e6e6);
    border-radius: 10px;
    background: var(--card-bg, #fff);
}
.release-notes-entry-head h3 {
    margin: 0 0 0.2rem;
    font-size: 1rem;
}
.release-notes-meta {
    font-size: 0.75rem;
    color: var(--text-muted, #888);
}
.release-notes-body-text {
    margin: 0.55rem 0 0.4rem;
    font-size: 0.86rem;
    line-height: 1.45;
    white-space: pre-wrap;
}
.release-notes-items {
    margin: 0.4rem 0 0;
    padding-left: 1.15rem;
    font-size: 0.86rem;
    line-height: 1.45;
}
.release-notes-items li { margin-bottom: 0.25rem; }
.release-notes-group { margin-top: 0.7rem; }
.release-notes-group:first-of-type { margin-top: 0.45rem; }
.release-notes-group h4 {
    margin: 0 0 0.28rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted, #888);
}
.release-notes-group--fixed h4 { color: #2e7d32; }
.release-notes-group--added h4 { color: var(--primary, #1976d2); }
.release-notes-group--changed h4 { color: #ef6c00; }

.action-btn {
    padding: 1rem;
    border: none;
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    box-shadow: var(--card-shadow);
}

.action-btn i {
    font-size: 0.85rem;
}

.action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.action-btn:active {
    transform: translateY(0);
}

/* Kasa > Kasa: gelir/gider iki sütun - sayfa boyunca uzar, toplam altta */
.kasa-two-columns {
    display: flex;
    gap: 1rem;
    flex: 1;
    min-height: 0;
    min-width: 0;
}
.kasa-body-row {
    display: flex;
    gap: 1rem;
    flex: 1;
    min-height: 0;
    min-width: 0;
}
.kasa-balance-rail {
    width: 220px;
    flex-shrink: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    padding: 1rem 1rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.kasa-balance-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary);
}
.kasa-balance-value {
    font-size: 1.45rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--success, #2e7d32);
    line-height: 1.15;
    margin-bottom: 0.35rem;
}
.kasa-balance-value.is-neg { color: var(--danger, #c62828); }
.kasa-balance-row {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--text-secondary);
}
.kasa-balance-row strong {
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}
.kasa-balance-row--hero {
    font-size: 0.95rem;
    margin-top: 0.15rem;
}
.kasa-balance-row--hero strong { font-size: 1.15rem; }
.kasa-quick-filter-option i { width: 1rem; margin-right: 0.35rem; text-align: center; }
.kasa-balance-hint {
    margin: 0.4rem 0 0;
    font-size: 0.72rem;
    color: var(--text-muted, #888);
    line-height: 1.35;
}
.kasa-column {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--card-bg, #fff);
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
}
.kasa-column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    flex-shrink: 0;
}
.kasa-column-title { margin: 0; font-size: 1rem; display: flex; align-items: center; gap: 0.5rem; }
.kasa-income-column .kasa-column-title { color: var(--success, #2e7d32); }
.kasa-expense-column .kasa-column-title { color: var(--danger, #c62828); }
.kasa-add-btn { white-space: nowrap; flex-shrink: 0; }
.kasa-expense-column .kasa-add-btn { background: var(--danger, #dc3545); border-color: var(--danger, #dc3545); color: #fff; }
.kasa-expense-column .kasa-add-btn:hover { filter: brightness(1.08); color: #fff; }
.kasa-table-scroll { padding: 0 0.5rem; flex: 1; min-height: 0; overflow: auto; }
.kasa-column .reports-table-container { max-height: 360px; overflow: auto; }
.kasa-table { margin: 0; }
.kasa-table th.kasa-table-th-amount,
.kasa-table td.kasa-table-td-amount { text-align: right; white-space: nowrap; padding-right: 1rem; }
.kasa-table th.kasa-table-th-actions,
.kasa-table td.kasa-table-td-actions { width: 4.5rem; text-align: center; white-space: nowrap; }
.kasa-table-td-actions { display: flex; gap: 0.25rem; justify-content: center; align-items: center; }
.kasa-row-btn {
    border: 1px solid var(--border-color);
    background: var(--card-bg, #fff);
    color: var(--text-secondary);
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--border-radius, 4px);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.75rem;
}
.kasa-row-btn:hover { border-color: var(--primary); color: var(--primary); }
.kasa-row-btn-delete:hover { border-color: var(--danger, #c62828); color: var(--danger, #c62828); }
.kasa-src-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    background: var(--primary-soft, #e8eef5);
    color: var(--primary, #1a4a7a);
    margin-right: 0.3rem;
    vertical-align: middle;
}
.kasa-pay-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    background: #eef6ff;
    color: #1a4a7a;
    margin-left: 0.3rem;
    vertical-align: middle;
}
.kasa-bank-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    background: #f3e8ff;
    color: #5b21b6;
    margin-left: 0.3rem;
    vertical-align: middle;
}
.kasa-pay-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0 0.1rem;
}
.kasa-bank-hint {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: #9a5b00;
}
.kasa-pay-type { margin: 0.65rem 0 1rem; }
.customers-tahsilat-pills--modal.kasa-odeme-pills {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 0.28rem;
    padding-right: 0;
}
.kasa-odeme-pills .customers-tahsilat-pill {
    flex: 1 1 0;
    min-width: 0;
    padding: 0.35rem 0.18rem;
    font-size: 0.72rem;
    white-space: nowrap;
}
.kasa-banks-wrap { min-height: 0; }
.kasa-banks-accounts { flex: 0 1 42%; min-width: 18rem; }
.kasa-banks-movements { flex: 1 1 58%; min-width: 0; }
.kasa-bank-row { cursor: pointer; }
.kasa-bank-row--selected td { background: rgba(25, 118, 210, 0.1); }
.theme-dark .kasa-bank-row--selected td { background: rgba(25, 118, 210, 0.22); }
.kasa-bank-row--passive td { opacity: 0.72; }
.kasa-bank-iban-cell {
    font-family: ui-monospace, Consolas, "Courier New", monospace;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
    color: var(--text-secondary);
}
.kasa-banks-summary-bar {
    justify-content: space-between;
    border-top: none;
    border-bottom: 1px solid var(--border-color);
}
.kasa-bank-form-modal {
    width: min(560px, 94vw);
    max-width: 560px;
}
.kasa-bank-form-body {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    padding: 1.15rem 1.35rem 1.25rem;
}
.kasa-bank-form-body .form-group { margin: 0; }
.kasa-bank-form-body .form-group label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
}
.kasa-bank-iban-input {
    width: 100%;
    min-height: 2.85rem;
    box-sizing: border-box;
    font-family: ui-monospace, Consolas, "Courier New", monospace;
    font-size: 1.08rem;
    letter-spacing: 0.07em;
}
.kasa-bank-iban-hint {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.35;
}
.kasa-bank-amount-input { max-width: 12rem; }
.kasa-bank-aktif-row { margin: 0.15rem 0 0; }
.kasa-bank-form-modal .kasa-add-modal-footer-actions { justify-content: flex-end; }
.kasa-offcash-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.35rem;
    border-radius: 3px;
    background: #fff4e5;
    color: #9a5b00;
    margin-left: 0.3rem;
    vertical-align: middle;
}
.kasa-total-split { font-weight: 500; opacity: 0.85; font-size: 0.9em; }
.kasa-affects-cash-switch { display: flex; align-items: center; gap: 0.75rem; margin: 0.5rem 1rem 0; }
.customers-cash-effect {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.85rem 0 0.15rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    background: var(--lighter-gray, #f8fafc);
}
.customers-cash-effect-text { min-width: 0; flex: 1; }
.customers-cash-effect-title {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
}
.customers-cash-effect-hint {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    color: var(--text-muted, #666);
    line-height: 1.35;
}
.customers-cash-effect .app-switch-row { margin: 0; flex: 0 0 auto; }
.customers-cash-effect.is-locked { opacity: 0.78; }
.theme-dark .customers-cash-effect {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}
.kasa-add-modal--cari { width: min(560px, 92vw); }
.kasa-add-modal-body--cari { display: block; }
.kasa-cari-edit-name { font-size: 1.05rem; font-weight: 700; color: var(--text-primary); }
.kasa-cari-edit-hint { margin: 0.35rem 0 0.85rem; font-size: 0.8rem; color: var(--text-muted); }
.kasa-add-modal-footer .customers-cash-effect { margin: 0 0 1rem; }
.kasa-add-modal-body--cari .form-group { margin-bottom: 1rem; }
.kasa-add-modal-body--cari .customers-cash-effect { margin-top: 0; }
.kasa-affects-cash-switch--inline {
    margin: 0;
    flex: 0 0 auto;
    align-self: flex-end;
    padding-bottom: 0.15rem;
    white-space: nowrap;
}
.kasa-affects-cash-switch--modal {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
    gap: 0.45rem;
}
.kasa-affects-cash-switch--modal .app-switch-label {
    font-size: 0.8rem;
    white-space: nowrap;
}
.kasa-affects-cash-hint { margin: 0.25rem 1rem 0.5rem; font-size: 0.75rem; color: var(--muted, #666); }
.kasa-list-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 0.5rem;
}
.kasa-list-search-wrap > i {
    position: absolute;
    left: 0.55rem;
    color: var(--text-secondary);
    font-size: 0.8rem;
    pointer-events: none;
}
.kasa-list-search {
    min-width: 14rem;
    padding-left: 1.7rem !important;
    height: 2.25rem;
    box-sizing: border-box;
}
.kasa-table td.amount-positive { color: var(--success, #2e7d32); font-weight: 600; }
.kasa-table td.amount-negative { color: var(--danger, #c62828); font-weight: 600; }
.kasa-column-total {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 1.5rem;
    padding: 0.7rem 1.1rem;
    font-weight: 700;
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
    background: var(--lighter-gray, #f6f7f9);
}
.kasa-income-column .kasa-column-total { background: rgba(46, 125, 50, 0.06); }
.kasa-expense-column .kasa-column-total { background: rgba(198, 40, 40, 0.06); }
.kasa-total-stat {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.12rem;
    min-width: 5.5rem;
}
.kasa-total-stat span {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #888);
}
.kasa-total-stat strong {
    font-size: 1.08rem;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
    line-height: 1.15;
}
.kasa-period-actions .kasa-period-icon-btn {
    width: 2.25rem;
    min-width: 2.25rem;
    padding-left: 0;
    padding-right: 0;
}
/* Kasa > Bugün / Arşiv: alt yapışkan özet + sütunlu detay paneli */
.reports-sticky-summary {
    position: relative;
    bottom: auto;
    z-index: 7;
    flex-shrink: 0;
    margin-top: auto;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.2s ease;
}
.reports-sticky-summary--open {
    z-index: 18;
    box-shadow: 0 -16px 36px rgba(0, 0, 0, 0.14);
    /* İçerik kadar büyüsün; boş alanla ekranı doldurmasın. Üst sınır: filtre altı (reports-content). */
    flex: 0 1 auto;
    max-height: calc(100% - 0.35rem);
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.reports-sticky-summary--open .reports-sticky-summary-detail {
    flex: 0 1 auto;
    min-height: 0;
    max-height: none;
    overflow: auto;
}
/* Açıkken liste doğal küçülür; sabit %14 zorlaması yok (panel içerik kadar). */
.reports-content:has(.reports-sticky-summary--open) .reports-arsiv-pager {
    display: none;
}
.reports-sticky-summary-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}
.reports-sticky-summary-bar.is-idle {
    cursor: default;
}
.reports-sticky-summary-bar.is-idle:focus-visible {
    outline: none;
}
.reports-patron-archive-bar {
    position: absolute;
    top: 0.65rem;
    right: 1rem;
    left: auto;
    width: min(17.5rem, calc(100% - 2rem));
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
    margin: 0;
    padding: 0.36rem 0.6rem;
    border-radius: 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 0.74rem;
    font-weight: 700;
    z-index: 6;
    pointer-events: none;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
}
.reports-patron-archive-bar i {
    flex-shrink: 0;
    width: 1.1rem;
    text-align: center;
}
.reports-patron-archive-bar.is-sending i {
    animation: patron-archive-pulse 1.1s ease-in-out infinite;
}
@keyframes patron-archive-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}
.reports-patron-archive-track {
    flex: 1 1 auto;
    min-width: 4rem;
    height: 6px;
    border-radius: 99px;
    background: #dbeafe;
    overflow: hidden;
}
.reports-patron-archive-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
    transition: width 0.35s ease;
}
.reports-patron-archive-label {
    flex: 0 0 auto;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.theme-dark .reports-patron-archive-bar {
    background: color-mix(in srgb, #2563eb 18%, #1a1e24);
    border-color: color-mix(in srgb, #2563eb 40%, #2a3038);
    color: #93c5fd;
}
.theme-dark .reports-patron-archive-track {
    background: #1e3a5f;
}
.theme-dark .reports-patron-archive-fill {
    background: #60a5fa;
}
.reports-sticky-chip {
    flex: 1 1 5.2rem;
    min-width: 0;
    padding: 0.65rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    border-right: 1px solid var(--border-color);
    justify-content: center;
}
.reports-sticky-chip-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    font-weight: 600;
}
.reports-sticky-chip-value {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reports-sticky-chip--tutar .reports-sticky-chip-value { color: #1565c0; }
.reports-sticky-chip--tahsilat .reports-sticky-chip-value { color: var(--success, #2e7d32); }
.reports-sticky-chip--nakit .reports-sticky-chip-value { color: #33691e; }
.reports-sticky-chip--ciroacik .reports-sticky-chip-value { color: #0277bd; }
.reports-sticky-chip--beklenen .reports-sticky-chip-value { color: #1b5e20; }
.reports-sticky-chip--indirim .reports-sticky-chip-value { color: #e65100; }
.reports-sticky-chip--iptal .reports-sticky-chip-value { color: #c62828; }
.summary-value-beklenen { color: #1b5e20; font-weight: 700; }
.reports-sticky-chevron-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    color: var(--text-muted);
    flex-shrink: 0;
    border-left: 1px solid var(--border-color);
}
.reports-sticky-chevron {
    transition: transform 0.2s ease;
    font-size: 0.85rem;
}
.reports-sticky-chevron.is-open {
    transform: rotate(180deg);
}
.reports-sticky-summary-detail {
    border-top: 1px solid var(--border-color);
    padding: 0.7rem 0.75rem 0.8rem;
    background: var(--card-bg, #fff);
    max-height: min(68vh, 520px);
    overflow: auto;
}
.theme-dark .reports-sticky-summary-detail {
    background: var(--card-bg, #1e1e1e);
}
.reports-sticky-books {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.85fr);
    gap: 0.65rem;
    align-items: start;
}
.reports-sticky-book.book-off {
    grid-column: 1 / -1;
}
.reports-sticky-book {
    min-width: 0;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-secondary, #f8f9fb);
    overflow: hidden;
}
.theme-dark .reports-sticky-book {
    background: rgba(255, 255, 255, 0.03);
}
.reports-sticky-book-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.45rem 0.6rem 0.4rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--card-bg, #fff);
}
.theme-dark .reports-sticky-book-head {
    background: transparent;
}
.reports-sticky-book-title {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-primary);
    line-height: 1.2;
}
.reports-sticky-book-title small {
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-muted);
}
.reports-sticky-book-total {
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
    white-space: nowrap;
}
.book-in .reports-sticky-book-total {
    color: var(--success, #2e7d32);
}
.book-out .reports-sticky-book-total {
    color: var(--danger, #c62828);
}
.book-off {
    background: transparent;
}
.theme-dark .book-off {
    background: transparent;
}
.book-off .reports-sticky-book-head {
    background: transparent;
    padding-bottom: 0.2rem;
}
.reports-sticky-book-body {
    padding: 0.2rem 0.2rem 0.28rem;
}
.reports-sticky-book-empty {
    padding: 0.45rem 0.5rem;
    font-size: 0.76rem;
    color: var(--text-muted);
}
.reports-sticky-book-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.28rem 0.45rem;
    border-radius: 4px;
}
.reports-sticky-book-row.is-expandable {
    cursor: pointer;
}
.reports-sticky-book-row.is-expandable:hover {
    background: rgba(0, 0, 0, 0.04);
}
.theme-dark .reports-sticky-book-row.is-expandable:hover {
    background: rgba(255, 255, 255, 0.05);
}
.reports-sticky-book-row.is-child {
    padding: 0.16rem 0.45rem 0.16rem 1.4rem;
}
.reports-sticky-book-row.is-sum .reports-sticky-book-label {
    font-weight: 600;
    color: var(--text-primary);
}
.reports-sticky-book-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-secondary, #475569);
}
.reports-sticky-book-value {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}
.reports-sticky-book-row.is-child .reports-sticky-book-label,
.reports-sticky-book-row.is-child .reports-sticky-book-value {
    font-size: 0.72rem;
    font-weight: 400;
    color: var(--text-muted);
}
.reports-sticky-book-caret {
    width: 0.7rem;
    font-size: 0.55rem;
    text-align: center;
    color: var(--text-muted);
    transition: transform 0.15s ease;
}
.reports-sticky-book-caret.is-open {
    transform: rotate(90deg);
}
.reports-sticky-book-row.is-out .reports-sticky-book-value {
    color: var(--danger, #c62828);
}
.reports-sticky-book-row.is-muted .reports-sticky-book-value {
    color: var(--text-muted);
    font-weight: 500;
}
.reports-sticky-net {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.55rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--card-bg, #fff);
}
.theme-dark .reports-sticky-net {
    background: rgba(255, 255, 255, 0.03);
}
.reports-sticky-net span {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-secondary);
}
.reports-sticky-net strong {
    font-size: 1.02rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--success, #2e7d32);
    white-space: nowrap;
}
@media (max-width: 900px) {
    .reports-sticky-books {
        grid-template-columns: 1fr 1fr;
    }
    .reports-sticky-book.book-off {
        grid-column: 1 / -1;
    }
}
@media (max-width: 520px) {
    .reports-sticky-chip { padding: 0.55rem 0.35rem; }
    .reports-sticky-chip-value { font-size: 0.88rem; }
    .reports-sticky-summary-detail {
        max-height: min(62vh, 420px);
        padding: 0.5rem 0.5rem 0.6rem;
    }
    .reports-sticky-books {
        grid-template-columns: 1fr;
    }
    .reports-sticky-book.book-off {
        grid-column: auto;
    }
}
/* Raporlar: ortak tarih barı — kart görünümü için sınıf: .reports-filters--card */
.reports-period-extra { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin-top: 0.5rem; }
.reports-period-extra .filter-group { margin: 0; }

/* Arşiv: tek satır — tarih, şimşek, mavi filtre, gün sonları, yenile */
.reports-filters-arsiv { padding: 0.45rem 0.6rem; }
.reports-filters-arsiv-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
    min-width: 0;
}
.reports-filters-arsiv .kasa-period-nav {
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    align-items: center;
}
.reports-filters-arsiv-row--fatura {
    margin-top: 0.35rem;
    flex-wrap: wrap;
}
.reports-filters-arsiv-row--fatura .bugun-pay-filters {
    flex: 0 1 auto;
}
.reports-filters-arsiv-part {
    display: flex;
    align-items: center;
    flex: 1 1 8rem;
    min-width: 0;
    max-width: 18rem;
}
.reports-filters-arsiv-part .filter-select--part {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 2.25rem;
    height: 2.25rem;
    padding: 0 0.5rem;
    font-size: 0.78rem;
    line-height: 1.2;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg);
    color: var(--text-primary);
}
.reports-arsiv-scope-hint {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin-top: 0.45rem;
    padding: 0.4rem 0.55rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}
.reports-arsiv-scope-hint .fa-info-circle {
    margin-top: 0.12rem;
    color: #64748b;
    flex: 0 0 auto;
}
.kasa-gs-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.35rem;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    vertical-align: middle;
    white-space: nowrap;
}
.kasa-gs-badge--open {
    color: #9a3412;
    background: #ffedd5;
    border: 1px solid #fdba74;
}
.kasa-gs-badge--closed {
    color: #1e3a5f;
    background: #e2e8f0;
    border: 1px solid #94a3b8;
}
.legacy-t6-badge {
    display: inline-block;
    flex-shrink: 0;
    margin-right: 0.3rem;
    padding: 0.05rem 0.32rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    vertical-align: middle;
    color: #6b21a8;
    background: #f3e8ff;
    border: 1px solid #d8b4fe;
}
.theme-dark .legacy-t6-badge {
    color: #e9d5ff;
    background: rgba(126, 34, 206, 0.35);
    border-color: rgba(216, 180, 254, 0.45);
}
.legacy-ikram-badge {
    display: inline-block;
    flex-shrink: 0;
    margin-right: 0.3rem;
    padding: 0.05rem 0.32rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    vertical-align: middle;
    color: #9a3412;
    background: #ffedd5;
    border: 1px solid #fdba74;
}
.theme-dark .legacy-ikram-badge {
    color: #fed7aa;
    background: rgba(154, 52, 18, 0.35);
    border-color: rgba(253, 186, 116, 0.45);
}
.reports-filters-arsiv .kasa-period-actions {
    margin-left: auto;
    flex-shrink: 0;
}
.kasa-period-advanced-filter-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.kasa-advanced-filter-btn {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid rgba(13, 110, 253, 0.35);
    border-radius: var(--border-radius);
    background: rgba(13, 110, 253, 0.1);
    color: #4a90d9;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
    flex-shrink: 0;
}
/* FA solid (fas) — font-weight 400 ikonu gizler */
.kasa-advanced-filter-btn .fas,
.kasa-advanced-filter-btn .fa {
    font-size: 0.95rem;
    font-weight: 900 !important;
    color: inherit;
    line-height: 1;
}
.kasa-advanced-filter-btn:hover,
.kasa-advanced-filter-btn--open {
    background: rgba(13, 110, 253, 0.75);
    color: #fff;
    border-color: rgba(13, 110, 253, 0.55);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.15);
}
.kasa-advanced-filter-btn--active:not(.kasa-advanced-filter-btn--open) {
    background: rgba(13, 110, 253, 0.22);
    border-color: rgba(13, 110, 253, 0.45);
    color: #2f7fc4;
}
.kasa-advanced-filter-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.25rem;
    min-width: 14rem;
    padding: 0.65rem 0.75rem;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    z-index: 110;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.kasa-advanced-filter-field {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.kasa-advanced-filter-field label {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted);
}
.kasa-advanced-filter-field .filter-select {
    width: 100%;
    font-size: 0.8rem;
}
.kasa-advanced-filter-apply {
    width: 100%;
    margin-top: 0.15rem;
}
@media (max-width: 1200px) {
    .reports-filters-arsiv-row { flex-wrap: wrap; }
    .reports-filters-arsiv .kasa-period-actions { margin-left: 0; }
}
.kasa-period-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.5rem; }
.reports-filters-kasa .kasa-period-row {
    flex-wrap: nowrap;
    align-items: flex-end;
}
.reports-filters-kasa .kasa-period-nav {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    flex-shrink: 1;
}
.reports-filters-kasa .kasa-period-inputs {
    flex-wrap: nowrap;
}
.reports-filters-kasa .kasa-list-search-wrap {
    flex: 1 1 10rem;
    min-width: 8rem;
    max-width: 18rem;
    margin-right: 0;
}
.reports-filters-kasa .kasa-list-search {
    width: 100%;
    min-width: 0;
}
.kasa-period-nav { display: flex; align-items: flex-end; gap: 0.5rem; flex-shrink: 0; }
.kasa-period-btn { width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--card-bg); color: var(--text-secondary); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.15s, color 0.15s, border-color 0.15s; }
.kasa-period-btn:hover { background: var(--hover-bg); color: var(--primary); border-color: var(--primary); }
.kasa-period-btn:disabled { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.kasa-period-quick-dropdown-wrap { position: relative; display: inline-flex; align-items: center; flex-shrink: 0; }
.kasa-quick-filter-btn { width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid rgba(255, 193, 7, 0.5); border-radius: var(--border-radius); background: rgba(255, 193, 7, 0.15); color: #f0b429; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s; box-sizing: border-box; flex-shrink: 0; }
.kasa-quick-filter-btn:hover { background: rgba(255, 193, 7, 0.7); color: #ffffff; border-color: #ffc107; box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.2); }
.kasa-quick-filter-btn[aria-expanded="true"] { background: rgba(255, 193, 7, 0.35); color: #ffc107; border-color: #ffc107; }
.kasa-quick-filter-btn--has-label { width: auto; min-width: 2.25rem; max-width: 13rem; padding: 0 0.55rem 0 0.45rem; justify-content: flex-start; }
.kasa-quick-filter-btn-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em; line-height: 1.2; max-width: 7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: inherit; }
.kasa-quick-filter-btn:hover .kasa-quick-filter-btn-label,
.kasa-quick-filter-btn[aria-expanded="true"] .kasa-quick-filter-btn-label { color: inherit; }
.kasa-quick-filter-dropdown { position: absolute; top: 100%; right: 0; margin-top: 0.25rem; min-width: 10rem; padding: 0.35rem; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 100; display: flex; flex-direction: column; gap: 0.15rem; }
.kasa-quick-filter-option { padding: 0.45rem 0.65rem; font-size: 0.8rem; border: none; border-radius: 4px; background: transparent; color: var(--text-primary); cursor: pointer; text-align: left; transition: background 0.12s, color 0.12s; }
.kasa-quick-filter-option:hover { background: var(--hover-bg); color: var(--primary); }
.kasa-period-inputs { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; }
.kasa-period-input-group { display: flex; flex-direction: row; align-items: center; gap: 0.25rem; }
.kasa-period-input-group label { font-size: 0.75rem; font-weight: 600; color: var(--text-muted); margin-right: 0.5rem; margin-left: 0.5rem; }
.kasa-period-input-group .filter-date-time-wrap { display: flex; gap: 0.35rem; align-items: center; }
.kasa-period-date { width: 7rem; }
.kasa-period-time { width: 5.3rem; }
.kasa-period-quick { display: flex; flex-direction: column; gap: 0.25rem; flex-shrink: 0; }
.kasa-quick-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 0.25rem; }
.kasa-quick-row .kasa-quick-pill { min-width: 0; }
.kasa-quick-pill { padding: 0.4rem 0.6rem; font-size: 0.8rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--card-bg); color: var(--text-secondary); cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; text-align: center; }
.kasa-quick-pill:hover { border-color: var(--primary); color: var(--primary); background: rgba(25, 118, 210, 0.06); }
.kasa-period-actions {
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}
/* Yenile / Listele: sol ok ve tarih satırı ile aynı yükseklik (kasa-period-btn = 2.25rem) */
.kasa-period-actions .btn {
    box-sizing: border-box;
    min-height: 2.25rem;
    height: 2.25rem;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}
.kasa-period-actions .btn.btn-sm {
    min-height: 2.25rem;
    height: 2.25rem;
    padding-top: 0;
    padding-bottom: 0;
}
.kasa-period-actions .kasa-period-filter-select {
    box-sizing: border-box;
    min-height: 2.25rem;
    height: 2.25rem;
    max-width: 16.5rem;
    margin-right: 0.5rem;
    padding: 0 0.5rem 0 0.65rem;
    font-size: 0.8rem;
    line-height: 1.2;
}
.kasa-period-search-input {
    box-sizing: border-box;
    width: 18rem;
    max-width: 32vw;
    min-width: 12rem;
    min-height: 2.25rem;
    height: 2.25rem;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
}
.kasa-period-actions--search-end {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 0.5rem;
    justify-content: flex-start;
}
.kasa-period-actions--search-end .kasa-period-search-input {
    margin-left: auto;
}

/* Hatırlatıcılar sayfası */
.reminders-view { padding: 0.5rem 0; }
.reminders-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.reminders-stat-card {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: var(--border-radius);
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    min-width: 4.5rem;
}
.reminders-stat-card .reminders-stat-value { font-weight: 700; font-size: 1.1rem; color: var(--text-primary); }
.reminders-stat-card .reminders-stat-label { font-size: 0.75rem; color: var(--text-muted); }
.reminders-stat-card .reminders-stat-icon { font-size: 0.85rem; color: var(--text-muted); margin-right: 0.15rem; }
.reminders-stat-card.active .reminders-stat-value { color: var(--success, #28a745); }
.reminders-stat-card.past .reminders-stat-value { color: var(--text-muted); }
.reminders-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.reminders-toolbar-left { display: flex; align-items: center; gap: 0.5rem; }
.reminders-toolbar-right { margin-left: auto; }
.reminders-template-wrap { position: relative; }
.reminders-template-btn { display: inline-flex; align-items: center; gap: 0.35rem; }
.reminders-template-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.25rem;
    min-width: 200px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    z-index: 100;
    max-height: 280px;
    overflow-y: auto;
}
.reminders-template-option {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    text-align: left;
    border: none;
    background: none;
    font-size: 0.9rem;
    color: var(--text-primary);
    cursor: pointer;
    transition: background 0.15s;
}
.reminders-template-option:hover { background: var(--hover-bg); }
.reminders-list-wrap { margin-bottom: 1.5rem; }
.reminders-list { list-style: none; margin: 0; padding: 0; }
.reminder-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    margin-bottom: 0.5rem;
    background: var(--card-bg);
}
.reminder-type-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    flex-shrink: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
}
.reminder-item .reminder-type-icon .fa-calendar-day { color: var(--primary); }
.reminder-item .reminder-type-icon .fa-repeat { color: var(--info, #17a2b8); }
.reminder-item .reminder-type-icon .fa-history { color: var(--text-muted); }
.reminder-item-past .reminder-type-icon .fa-history { color: var(--warning, #ffc107); }
.reminder-item.inactive { opacity: 0.7; }
.reminder-bell {
    width: 2.25rem;
    height: 2.25rem;
    border: none;
    border-radius: 50%;
    background: var(--lighter-gray, #f0f0f0);
    color: var(--text-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}
.reminder-bell:hover { background: var(--hover-bg); color: var(--primary); }
.reminder-bell.active { background: rgba(255, 193, 7, 0.2); color: #d4a006; }
.reminder-bell.active i { animation: reminderBellRing 0.6s ease-in-out infinite; }
@keyframes reminderBellRing {
    0%, 100% { transform: rotate(0) scale(1); }
    15% { transform: rotate(-14deg) scale(1.05); }
    30% { transform: rotate(14deg) scale(1.05); }
    45% { transform: rotate(-10deg) scale(1.02); }
    60% { transform: rotate(10deg) scale(1.02); }
    75% { transform: rotate(-6deg) scale(1); }
}
.reminder-body { flex: 1; min-width: 0; }
.reminder-title { font-weight: 600; display: block; }
.reminder-meta { font-size: 0.8rem; color: var(--text-muted); }
.reminder-actions { display: flex; gap: 0.35rem; }
.reminder-actions .btn-icon { padding: 0.35rem; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: var(--border-radius); }
.reminder-actions .btn-icon:hover { background: var(--hover-bg); color: var(--primary); }
.reminder-actions .btn-icon-danger:hover { color: var(--danger); }
.reminder-item.empty { justify-content: center; color: var(--text-muted); }
.reminder-form-card {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 1rem;
    background: var(--card-bg);
    max-width: 420px;
}
.reminder-form-title { margin: 0 0 0.75rem 0; font-size: 1rem; }
.reminder-form-row { margin-bottom: 0.75rem; }
.reminder-form-row label { display: block; font-size: 0.8rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--text-secondary); }
.reminder-input, .reminder-select { width: 100%; padding: 0.5rem 0.6rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); font-size: 0.9rem; }
.reminder-textarea { resize: vertical; min-height: 52px; }
.reminder-form-actions { display: flex; gap: 0.5rem; margin-top: 1rem; }

/* Modal: Tüm bildirimler */
.reminder-all-notifications-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.reminder-all-notifications-modal { background: var(--card-bg); border-radius: var(--border-radius); box-shadow: 0 12px 40px rgba(0,0,0,0.2); max-width: 420px; width: 100%; max-height: 80vh; display: flex; flex-direction: column; }
.reminder-all-notifications-header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color); }
.reminder-all-notifications-title { margin: 0; font-size: 1rem; font-weight: 600; }
.reminder-all-notifications-close { padding: 0.35rem; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: var(--border-radius); }
.reminder-all-notifications-close:hover { background: var(--hover-bg); color: var(--text-primary); }
.reminder-all-notifications-body { padding: 0.5rem; overflow-y: auto; flex: 1; min-height: 0; }
.reminder-all-notifications-empty { padding: 1.5rem; text-align: center; color: var(--text-muted); font-size: 0.9rem; }
.reminder-all-notifications-list { list-style: none; margin: 0; padding: 0; }
.reminder-all-notifications-item { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--border-color); cursor: pointer; transition: background 0.15s; }
.reminder-all-notifications-item:hover { background: var(--hover-bg); }
.reminder-all-notifications-item.unread { background: rgba(255, 193, 7, 0.08); }
.reminder-all-notifications-item-title { display: block; font-weight: 600; font-size: 0.9rem; }
.reminder-all-notifications-item-body { display: block; font-size: 0.8rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.reminder-all-notifications-item-date { display: block; font-size: 0.75rem; color: var(--text-muted); margin-top: 0.25rem; }

/* Modal: Bildirim detayı */
.reminder-detail-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 10020; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.reminder-detail-modal { background: var(--card-bg); border-radius: var(--border-radius); box-shadow: 0 12px 40px rgba(0,0,0,0.22); max-width: 520px; width: 100%; max-height: 82vh; display: flex; flex-direction: column; }
.reminder-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.85rem 1rem; border-bottom: 1px solid var(--border-color); }
.reminder-detail-title { margin: 0; font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.reminder-detail-close { padding: 0.35rem; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: var(--border-radius); flex-shrink: 0; }
.reminder-detail-close:hover { background: var(--hover-bg); color: var(--text-primary); }
.reminder-detail-meta { padding: 0.35rem 1rem 0; font-size: 0.75rem; color: var(--text-muted); }
.reminder-detail-body { padding: 0.75rem 1rem 1rem; overflow-y: auto; flex: 1; min-height: 0; }
.reminder-detail-intro { margin: 0 0 0.75rem; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.4; }
.reminder-detail-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.reminder-detail-list-item { padding: 0.55rem 0.7rem; border: 1px solid var(--border-color); border-radius: calc(var(--border-radius) - 2px); font-size: 0.88rem; line-height: 1.35; background: var(--hover-bg, rgba(0,0,0,0.03)); }
.reminder-detail-plain { margin: 0; white-space: pre-wrap; font-size: 0.9rem; line-height: 1.45; color: var(--text-secondary); }
.reminder-detail-footer { display: flex; justify-content: flex-end; padding: 0.75rem 1rem; border-top: 1px solid var(--border-color); }

/* Modal: Yeni / Düzenle hatırlatıcı */
.reminder-form-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.reminder-form-modal { background: var(--card-bg); border-radius: var(--border-radius); box-shadow: 0 12px 40px rgba(0,0,0,0.2); max-width: 420px; width: 100%; max-height: 90vh; display: flex; flex-direction: column; }
.reminder-form-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color); }
.reminder-form-modal-header .reminder-form-title { margin: 0; font-size: 1rem; }
.reminder-form-modal-close { padding: 0.35rem; border: none; background: transparent; color: var(--text-muted); cursor: pointer; border-radius: var(--border-radius); }
.reminder-form-modal-close:hover { background: var(--hover-bg); color: var(--text-primary); }
.reminder-form-modal-body { padding: 1rem; overflow-y: auto; flex: 1; min-height: 0; }
.reminder-form-modal-footer { display: flex; gap: 0.5rem; justify-content: flex-end; padding: 0.75rem 1rem; border-top: 1px solid var(--border-color); }
.reminder-form-error { display: block; font-size: 0.75rem; color: var(--danger, #dc3545); margin-top: 0.25rem; }
.reminder-input.invalid { border-color: var(--danger, #dc3545); }

/* Hatırlatıcı bildirim paneli (sağdan açılır) */
.reminder-notification-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: min(380px, 92vw);
    height: 100vh;
    background: var(--card-bg);
    box-shadow: -4px 0 24px rgba(0,0,0,0.15);
    z-index: 1200;
    display: flex;
    flex-direction: column;
}
.reminder-notification-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
}
.reminder-notification-header i { color: var(--primary); }
.reminder-notification-body { padding: 1.25rem; flex: 1; overflow: auto; }
.reminder-notification-heading { margin: 0 0 0.5rem 0; font-size: 1.1rem; }
.reminder-notification-text { margin: 0; color: var(--text-secondary); font-size: 0.95rem; line-height: 1.4; }
.reminder-notification-detail-btn { margin-top: 0.75rem; width: 100%; }
.reminder-notification-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--border-color); }
.reminder-notification-ok { width: 100%; }
.slide-right-enter-active, .slide-right-leave-active { transition: transform 0.25s ease; }
.slide-right-enter-from, .slide-right-leave-to { transform: translateX(100%); }

/* Kasa: Gelir/Gider ekle geniş modal */
.kasa-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 1090; }
.fade-scale-enter-active, .fade-scale-leave-active { transition: opacity 0.2s ease, transform 0.2s ease; }
.fade-scale-enter, .fade-scale-leave-to { opacity: 0; transform: scale(0.98); }
.kasa-add-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(820px, 92vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    background: var(--card-bg);
    border-radius: var(--border-radius);
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
    z-index: 1100;
    overflow: hidden;
}
.kasa-add-modal-income .kasa-add-modal-header { border-bottom-color: rgba(46, 125, 50, 0.3); }
.kasa-add-modal-expense .kasa-add-modal-header { border-bottom-color: rgba(198, 40, 40, 0.3); }
.kasa-add-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 2px solid var(--border-color); flex-shrink: 0; }
.kasa-add-modal-title { margin: 0; font-size: 1.15rem; font-weight: 700; color: var(--text-primary); }
.kasa-add-modal-close { width: 2.25rem; height: 2.25rem; border: none; border-radius: var(--border-radius); background: transparent; color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s, color 0.15s; }
.kasa-add-modal-close:hover { background: var(--hover-bg); color: var(--text-primary); }
.kasa-add-modal-body { display: flex; flex: 1; min-height: 0; padding: 1rem 1.25rem; gap: 1.25rem; }
.kasa-add-modal-body.kasa-bank-form-body {
    flex-direction: column;
    gap: 0.95rem;
    padding: 1.15rem 1.35rem 1.25rem;
}
.kasa-add-modal-left { width: 250px; flex-shrink: 0; display: flex; flex-direction: column; gap: 0.5rem; border-right: 1px solid var(--border-color); padding-right: 1rem; }
.kasa-add-modal-section-header { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.25rem; }
.kasa-add-modal-section-header .kasa-add-modal-section-title { margin: 0; }
.kasa-add-modal-section-add-btn { width: 1.75rem; height: 1.75rem; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0; }
.kasa-add-modal-section-add-btn:hover { filter: brightness(1.08); color: #fff; }
.kasa-add-modal-section-title { font-size: 0.8rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.kasa-add-modal-groups { display: flex; flex-direction: column; overflow-y: auto; max-height: 280px; background: var(--lighter-gray); border-radius: var(--border-radius); border: 1px solid var(--border-color); }
.kasa-add-modal-group-item { padding: 0.5rem 0.75rem; text-align: left; border: none; border-bottom: 1px solid rgba(0, 0, 0, 0.06); border-radius: 0; background: transparent; color: var(--text-primary); font-size: 0.9rem; cursor: pointer; transition: background 0.15s; }
.kasa-add-modal-group-item:last-child { border-bottom: none; }
.kasa-add-modal-group-item:hover { background: rgba(0, 0, 0, 0.04); }
.kasa-add-modal-group-item.active { background: rgba(25, 118, 210, 0.12); color: var(--primary); font-weight: 600; }
.kasa-add-modal-income .kasa-add-modal-group-item.active { background: rgba(46, 125, 50, 0.15); color: var(--success); }
.kasa-add-modal-expense .kasa-add-modal-group-item.active { background: rgba(198, 40, 40, 0.12); color: var(--danger); }
.theme-dark .kasa-add-modal-groups { background: rgba(255, 255, 255, 0.06); }
.theme-dark .kasa-add-modal-group-item { border-bottom-color: rgba(255, 255, 255, 0.08); }
.theme-dark .kasa-add-modal-group-item:hover { background: rgba(255, 255, 255, 0.08); }
.kasa-add-modal-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.kasa-add-modal-search-wrap { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.75rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--input-bg); }
.kasa-add-modal-search-wrap i { color: var(--text-muted); font-size: 0.9rem; }
.kasa-add-modal-search { flex: 1; border: none; background: transparent; font-size: 0.95rem; color: var(--text-primary); }
.kasa-add-modal-search:focus { outline: none; }
.kasa-add-modal-type-list { flex: 1; min-height: 0; overflow-y: auto; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--input-bg); }
.kasa-add-modal-type-row { padding: 0.5rem 0.75rem; cursor: pointer; font-size: 0.9rem; color: var(--text-primary); display: flex; align-items: center; gap: 0.5rem; transition: background 0.1s; border-bottom: 1px solid var(--border-color); }
.kasa-add-modal-type-row:last-child { border-bottom: none; }
.kasa-add-modal-type-row:hover { background: var(--hover-bg); }
.kasa-add-modal-type-row.selected { background: rgba(25, 118, 210, 0.1); font-weight: 600; }
.kasa-add-modal-income .kasa-add-modal-type-row.selected { background: rgba(46, 125, 50, 0.12); }
.kasa-add-modal-expense .kasa-add-modal-type-row.selected { background: rgba(198, 40, 40, 0.1); }
.kasa-add-modal-type-row.muted { color: var(--text-muted); cursor: default; }
.kasa-add-modal-type-grup { flex-shrink: 0; font-size: 0.8rem; color: var(--text-muted); max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.kasa-add-modal-type-name { flex: 1; min-width: 0; }
.kasa-add-modal-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--border-color); background: var(--card-bg); flex-shrink: 0; }
.kasa-add-modal-selected-label { font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 0.5rem; }
.kasa-add-modal-footer-fields { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.kasa-add-modal-field { display: flex; flex-direction: column; gap: 0.25rem; }
.kasa-add-modal-field-datetime { flex-shrink: 0; }
.kasa-add-modal-datetime-wrap { display: flex; gap: 0.5rem; }
.kasa-add-modal-datetime-wrap input[type="date"] { width: 10rem; }
.kasa-add-modal-datetime-wrap input[type="time"] { width: 6rem; }
.kasa-add-modal-field-aciklama { flex: 1; min-width: 0; }
.kasa-add-modal-field-tutar { width: 140px; flex-shrink: 0; }
.kasa-add-modal-field label { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); }
.kasa-add-modal-input { padding: 0.5rem 0.75rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); font-size: 1rem; background: var(--input-bg); color: var(--text-primary); width: 100%; }
.kasa-add-modal-input:focus { outline: none; border-color: var(--primary); }
.kasa-add-modal-footer-actions { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-shrink: 0; }
.kasa-add-modal-submit { min-width: 100px; }
.theme-dark .kasa-add-modal-input { background: var(--input-bg); }
/* Kasa sayfası: içerik alanı kalan yüksekliği doldurur */
.kasa-view-wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}
.sector-view { display: flex; flex-direction: column; gap: 0.9rem; padding: 0.15rem 0.1rem 1.4rem; min-height: 0; overflow: auto; }
.sector-title { margin: 0; font-size: 1.28rem; font-weight: 700; color: var(--text-primary); letter-spacing: -0.02em; }
.sector-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.45rem; }
.sector-chip { display: inline-flex; align-items: center; padding: 0.18rem 0.6rem; border-radius: 99px; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); background: rgba(0,0,0,0.04); border: 1px solid var(--border-color); }
.sector-empty { padding: 1.5rem 1.1rem; border: 1px dashed var(--border-color); border-radius: 12px; color: var(--text-secondary); background: var(--card-bg); }
.sector-consent { padding: 1.25rem 1.2rem 1.35rem; border: 1px solid var(--border-color); border-radius: 14px; background: var(--card-bg); }
.sector-consent h3 { margin: 0 0 0.75rem; font-size: 1.05rem; font-weight: 700; color: var(--text-primary); }
.sector-consent p { margin: 0 0 0.7rem; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.5; }
.sector-consent-warn { margin: 0 0 0.85rem; padding: 0.7rem 0.85rem; border-radius: 10px; background: #fff5f7; border: 1px solid rgba(208, 28, 66, 0.18); color: #820e2b; font-size: 0.9rem; font-weight: 600; }
.sector-consent-check { display: flex; align-items: flex-start; gap: 0.65rem; margin: 0.85rem 0 1rem; font-size: 0.9rem; color: var(--text-primary); line-height: 1.4; cursor: pointer; }
.sector-consent-check input { margin-top: 0.2rem; flex-shrink: 0; }
.sector-consent-err { color: #c62828; font-size: 0.85rem; }
.theme-dark .sector-consent-warn { background: rgba(208, 28, 66, 0.16); border-color: rgba(208, 28, 66, 0.35); color: #ffcdd2; }
.sector-cooldown { padding: 1.25rem 1.2rem 1.35rem; border: 1px solid rgba(208, 28, 66, 0.22); border-radius: 14px; background: var(--card-bg); }
.sector-cooldown p { margin: 0; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.5; }
.sector-leave { margin-top: 1.75rem; padding: 1.15rem 0.15rem 0.2rem; border-top: 1px solid rgba(198, 40, 40, 0.28); display: flex; flex-direction: column; align-items: flex-start; gap: 0.45rem; }
.sector-leave-btn { appearance: none; border: 1px solid #c62828; background: transparent; color: #c62828; font-weight: 700; font-size: 0.88rem; padding: 0.55rem 0.95rem; border-radius: 10px; cursor: pointer; display: inline-flex; align-items: center; gap: 0.45rem; }
.sector-leave-btn:hover:not(:disabled) { background: #c62828; color: #fff; }
.sector-leave-btn:disabled { opacity: 0.55; cursor: default; }
.sector-leave-hint { font-size: 0.8rem; color: #c62828; line-height: 1.4; }
.theme-dark .sector-leave { border-top-color: rgba(239, 83, 80, 0.4); }
.theme-dark .sector-leave-btn { color: #ef5350; border-color: #ef5350; }
.theme-dark .sector-leave-btn:hover:not(:disabled) { background: #c62828; color: #fff; border-color: #c62828; }
.theme-dark .sector-leave-hint { color: #ef9a9a; }
.sector-store-n { display: block; margin-top: 0.4rem; font-size: 0.8rem; color: var(--text-muted); }
.sector-sample-banner { margin: 0; padding: 0.65rem 0.9rem; border-radius: 10px; background: #fff8e1; border: 1px solid #ffe082; color: #6d4c00; font-size: 0.85rem; }
.sector-hero { display: grid; grid-template-columns: minmax(17rem, 1.15fr) minmax(0, 1.35fr); gap: 0.75rem; align-items: stretch; }
.sector-top { display: grid; grid-template-columns: 1fr; gap: 0.75rem; align-items: stretch; }
.sector-top.has-board { grid-template-columns: minmax(16rem, 1.25fr) minmax(15rem, 0.85fr); }
.sector-top .sector-board { margin-top: 0; min-height: 0; display: flex; flex-direction: column; }
.sector-hero-main { position: relative; overflow: hidden; padding: 1.2rem 1.3rem 1.15rem 1.45rem; border-radius: 16px; background: radial-gradient(120% 90% at 88% 120%, rgba(46, 125, 50, 0.16), var(--card-bg) 58%); border: 1px solid var(--border-color); display: flex; flex-direction: column; justify-content: center; min-height: 8.5rem; }
.sector-hero-main::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #2e7d32; }
.sector-hero-pulse { position: absolute; right: -12%; bottom: -38%; width: 72%; height: 110%; border-radius: 50%; background: radial-gradient(circle, rgba(76, 175, 80, 0.32), transparent 68%); animation: sector-hb-glow 2.4s ease-in-out infinite; pointer-events: none; }
.sector-heartbeat { position: absolute; inset: 12% 0 8% 8%; width: 92%; height: 70%; opacity: 0.45; pointer-events: none; }
.sector-heartbeat-line { fill: none; stroke: #43a047; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 280; stroke-dashoffset: 280; animation: sector-ecg 2.8s ease-in-out infinite; }
.sector-hero-kicker { position: relative; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #2e7d32; }
.sector-hero-city { position: relative; margin-top: 0.12rem; font-size: 0.92rem; font-weight: 700; color: var(--text-secondary); }
.sector-hero-value { position: relative; margin: 0.2rem 0 0.2rem; font-size: 2.05rem; font-weight: 700; color: var(--text-primary); letter-spacing: -0.04em; line-height: 1.1; }
.sector-hero-pace { position: relative; margin: 0 0 0.45rem; font-size: 0.78rem; color: #2e7d32; line-height: 1.35; font-weight: 600; max-width: 22rem; }
.sector-hero-meta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.sector-hero-note { font-size: 0.78rem; color: var(--text-muted); line-height: 1.35; max-width: 22rem; }
.sector-pill { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.22rem 0.55rem; border-radius: 99px; font-size: 0.78rem; font-weight: 700; background: rgba(0,0,0,0.05); color: var(--text-secondary); }
.sector-pill i { font-size: 0.7rem; }
.sector-pill.is-up { background: rgba(46, 125, 50, 0.12); color: #1b5e20; }
.sector-pill.is-down { background: rgba(208, 28, 66, 0.12); color: #b71c1c; }
.sector-hero-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0.55rem; margin-top: 0.75rem; }
.sector-shop { margin-top: 0.75rem; padding: 0.95rem 1.05rem 1rem; border-radius: 14px; background: var(--card-bg); border: 1px solid var(--border-color); }
.sector-shop-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.65rem; }
.sector-shop-head h3 { margin: 0; font-size: 0.82rem; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-shop-head span { font-size: 0.75rem; color: var(--text-muted); }
.sector-shop-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; }
.sector-cmp { display: flex; flex-direction: column; gap: 0.55rem; }
@media (min-width: 1100px) {
    .sector-cmp { display: grid; grid-template-columns: 1fr 1fr; }
}
.sector-cmp-row { padding: 0.7rem 0.8rem 0.75rem; border-radius: 12px; border: 1px solid var(--border-color); background: rgba(0,0,0,0.02); display: grid; grid-template-columns: minmax(7.5rem, 0.9fr) minmax(0, 1.4fr); gap: 0.55rem 0.85rem; align-items: center; }
.sector-cmp-row.is-up { border-color: rgba(46, 125, 50, 0.28); background: linear-gradient(90deg, rgba(46, 125, 50, 0.08), transparent 55%); }
.sector-cmp-row.is-down { border-color: rgba(208, 28, 66, 0.22); background: linear-gradient(90deg, rgba(208, 28, 66, 0.07), transparent 55%); }
.sector-cmp-label { display: block; font-size: 0.78rem; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.03em; }
.sector-cmp-hint { display: block; margin-top: 0.12rem; font-style: normal; font-size: 0.72rem; color: var(--text-muted); }
.sector-cmp-vals { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; }
.sector-cmp-pair { display: flex; flex-direction: column; gap: 0.08rem; }
.sector-cmp-pair small { font-size: 0.68rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-cmp-pair strong { font-size: 1.05rem; letter-spacing: -0.02em; color: var(--text-primary); }
.sector-cmp-pair.is-you strong { color: var(--text-primary); }
.sector-cmp-amt { display: block; margin-top: 0.08rem; font-style: normal; font-size: 0.7rem; font-weight: 600; color: var(--text-muted); }
.sector-cmp-bars { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 0.28rem; }
.sector-cmp-bar { display: block; height: 7px; border-radius: 99px; background: rgba(0,0,0,0.08); overflow: hidden; }
.sector-cmp-bar i { display: block; height: 100%; border-radius: 99px; background: #90a4ae; width: 0; }
.sector-cmp-bar.is-city i { background: #90a4ae; }
.sector-cmp-bar.is-you i { background: #78909c; }
.sector-cmp-row.is-up .sector-cmp-bar.is-you i { background: #2e7d32; }
.sector-cmp-row.is-down .sector-cmp-bar.is-you i { background: #d01c42; }
.sector-cmp-row.is-up .sector-cmp-pair.is-you strong { color: #1b5e20; }
.sector-cmp-row.is-down .sector-cmp-pair.is-you strong { color: #b71c1c; }
.sector-dual { display: flex; flex-direction: column; gap: 0.28rem; margin-top: 0.35rem; }
.sector-dual-row { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); align-items: center; gap: 0.35rem; }
.sector-dual-row.is-you { grid-template-columns: 1.7rem minmax(0, 1fr) 3.1rem; }
.sector-dual-row small { font-size: 0.65rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; }
.sector-dual-row strong { font-size: 0.82rem; text-align: right; }
.sector-dual-row.is-you small, .sector-dual-row.is-you strong { color: #546e7a; }
.sector-dual-row.is-you.is-up small, .sector-dual-row.is-you.is-up strong { color: #1b5e20; }
.sector-dual-row.is-you.is-down small, .sector-dual-row.is-you.is-down strong { color: #b71c1c; }
.sector-dual-track { height: 8px; border-radius: 99px; background: rgba(0,0,0,0.08); overflow: hidden; }
.sector-dual-track i { display: block; height: 100%; border-radius: 99px; background: #cfcfcf; }
.sector-dual-row.is-you .sector-dual-track i, .sector-share-fill.is-you { background: #78909c; }
.sector-dual-row.is-you.is-up .sector-dual-track i, .sector-dual-row.is-you.is-up .sector-share-fill.is-you { background: #2e7d32; }
.sector-dual-row.is-you.is-down .sector-dual-track i, .sector-dual-row.is-you.is-down .sector-share-fill.is-you { background: #d01c42; }
.sector-share-fill.is-iceri { background: #1565c0; }
.sector-share-city-amt { font-style: normal; font-size: 0.72rem; color: var(--text-muted); }
.theme-dark .sector-cmp-row { background: rgba(255,255,255,0.04); }
.theme-dark .sector-cmp-pair.is-you strong, .theme-dark .sector-dual-row.is-you small, .theme-dark .sector-dual-row.is-you strong { color: #cfd8dc; }
.theme-dark .sector-cmp-row.is-up .sector-cmp-pair.is-you strong,
.theme-dark .sector-dual-row.is-you.is-up small,
.theme-dark .sector-dual-row.is-you.is-up strong { color: #a5d6a7; }
.theme-dark .sector-cmp-row.is-down .sector-cmp-pair.is-you strong,
.theme-dark .sector-dual-row.is-you.is-down small,
.theme-dark .sector-dual-row.is-you.is-down strong { color: #ef9a9a; }
.theme-dark .sector-cmp-bar, .theme-dark .sector-dual-track { background: rgba(255,255,255,0.1); }
.theme-dark .sector-cmp-bar.is-you i,
.theme-dark .sector-dual-row.is-you .sector-dual-track i,
.theme-dark .sector-share-fill.is-you { background: #90a4ae; }
.theme-dark .sector-cmp-row.is-up .sector-cmp-bar.is-you i,
.theme-dark .sector-dual-row.is-you.is-up .sector-dual-track i,
.theme-dark .sector-dual-row.is-you.is-up .sector-share-fill.is-you { background: #81c784; }
.theme-dark .sector-cmp-row.is-down .sector-cmp-bar.is-you i,
.theme-dark .sector-dual-row.is-you.is-down .sector-dual-track i,
.theme-dark .sector-dual-row.is-you.is-down .sector-share-fill.is-you { background: #ef5350; }
.sector-shop-actions { margin: 0.75rem 0 0; }
.sector-board { margin-top: 0.75rem; padding: 1rem 1.1rem 1.1rem; border-radius: 14px; background: var(--card-bg); border: 1px solid var(--border-color); }
.sector-place { display: flex; flex-direction: column; justify-content: center; min-height: 8.5rem; }
.sector-place-kicker { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #2e7d32; }
.sector-place-title { margin: 0.28rem 0 0.2rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -0.03em; color: var(--text-primary); line-height: 1.3; }
.sector-place-hint { margin: 0 0 0.7rem; font-size: 0.75rem; color: var(--text-muted); line-height: 1.35; }
.sector-place-track { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.22rem; padding: 0.12rem 0 1.15rem; }
.sector-place-seg { display: flex; align-items: center; justify-content: center; min-height: 2.15rem; border-radius: 10px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em; color: var(--text-muted); background: rgba(0,0,0,0.05); text-align: center; padding: 0.2rem 0.25rem; }
.sector-place-seg.is-low { background: rgba(120, 144, 156, 0.14); }
.sector-place-seg.is-mid { background: rgba(46, 125, 50, 0.10); }
.sector-place-seg.is-high { background: rgba(46, 125, 50, 0.18); }
.sector-place.is-low .sector-place-seg.is-low,
.sector-place.is-mid .sector-place-seg.is-mid,
.sector-place.is-high .sector-place-seg.is-high { color: #1b5e20; box-shadow: inset 0 0 0 1px rgba(46, 125, 50, 0.28); }
.sector-place.is-low .sector-place-seg.is-low { color: #455a64; box-shadow: inset 0 0 0 1px rgba(84, 110, 122, 0.35); }
.sector-place-you { position: absolute; bottom: 0.15rem; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 99px; background: #2e7d32; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(46, 125, 50, 0.28); }
.sector-place-ciro { margin: 0.45rem 0 0; font-style: normal; font-size: 0.78rem; font-weight: 700; color: #2e7d32; }
.theme-dark .sector-place-seg { background: rgba(255,255,255,0.06); }
.theme-dark .sector-place-you { box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 3px rgba(129, 199, 132, 0.35); }
.theme-dark .sector-place-title { color: var(--text-primary); }
.sector-legend { display: flex; align-items: center; gap: 0.85rem; margin: -0.15rem 0 0.55rem; }
.sector-legend-city, .sector-legend-you { display: inline-flex; align-items: center; gap: 0.32rem; font-size: 0.72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-legend-city::before { content: ''; width: 0.7rem; height: 0.45rem; border-radius: 2px; background: #d8d8d8; }
.sector-legend-you::before { content: ''; width: 0.55rem; height: 0.55rem; border-radius: 99px; background: #d01c42; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(208, 28, 66, 0.35); }
.sector-you-chip { display: inline-flex; align-items: center; margin-top: 0.12rem; font-style: normal; font-size: 0.72rem; font-weight: 700; color: #546e7a; }
.sector-stat em.sector-you-chip,
.sector-share-amt em.sector-you-chip,
.sector-slot em.sector-you-chip { color: inherit; }
.sector-stat.is-up .sector-you-chip { color: #1b5e20; }
.sector-stat.is-down .sector-you-chip { color: #b71c1c; }
.sector-vs { margin-top: 0.38rem; }
.sector-vs-track { position: relative; display: block; height: 6px; border-radius: 99px; background: rgba(0,0,0,0.08); }
.sector-vs-city, .sector-vs-you { position: absolute; top: 50%; transform: translate(-50%, -50%); border-radius: 99px; }
.sector-vs-city { width: 8px; height: 8px; background: #78909c; box-shadow: 0 0 0 2px #fff; }
.sector-vs-you { width: 11px; height: 11px; background: #d01c42; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(208, 28, 66, 0.28); z-index: 1; }
.sector-vs.is-up .sector-vs-you { background: #2e7d32; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(46, 125, 50, 0.28); }
.sector-vs.is-down .sector-vs-you { background: #d01c42; }
.sector-idea.is-shop { border-color: rgba(208, 28, 66, 0.22); background: linear-gradient(180deg, rgba(208, 28, 66, 0.06), var(--card-bg) 55%); }
.theme-dark .sector-idea.is-shop { background: linear-gradient(180deg, rgba(208, 28, 66, 0.14), var(--card-bg) 60%); }
.sector-stat { padding: 0.8rem 0.9rem; border-radius: 12px; background: var(--card-bg); border: 1px solid var(--border-color); display: flex; flex-direction: column; gap: 0.15rem; min-height: 0; }
.sector-stat span { font-size: 0.72rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.sector-stat strong { font-size: 1.05rem; color: var(--text-primary); letter-spacing: -0.02em; }
.sector-stat em { font-style: normal; font-size: 0.75rem; color: var(--text-muted); }
.sector-stat strong i { font-size: 0.72rem; margin-right: 0.28rem; }
.sector-stat.is-up { background: linear-gradient(180deg, rgba(46, 125, 50, 0.12), var(--card-bg) 70%); border-color: rgba(46, 125, 50, 0.28); }
.sector-stat.is-up strong { color: #1b5e20; }
.sector-stat.is-down { background: linear-gradient(180deg, rgba(208, 28, 66, 0.1), var(--card-bg) 70%); border-color: rgba(208, 28, 66, 0.22); }
.sector-stat.is-down strong { color: #b71c1c; }
.sector-stat.is-peak { position: relative; padding-right: 2.4rem; background: linear-gradient(180deg, rgba(255, 179, 0, 0.2), var(--card-bg) 72%); border-color: rgba(245, 166, 35, 0.45); }
.sector-peak-cup { position: absolute; right: 0.7rem; top: 50%; transform: translateY(-50%); font-size: 1.35rem; color: #e6a100; opacity: 0.9; }
.sector-card-window { margin-left: 0.35rem; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--text-muted); }
.sector-stat.is-peak span { color: #8d6e00; }
.sector-stat.is-peak strong { color: #9a6b00; }
.sector-stat.is-forecast { background: linear-gradient(180deg, rgba(63, 81, 181, 0.12), var(--card-bg) 70%); border-color: rgba(63, 81, 181, 0.28); }
.sector-stat.is-forecast span { color: #3949ab; }
.sector-stat.is-forecast strong { color: #283593; }
.sector-share-amt { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.sector-share-amt strong { font-size: 0.9rem; }
.sector-share-amt em { font-style: normal; font-size: 0.72rem; color: var(--text-muted); }
.sector-chart-card { padding: 1rem 1.1rem 0.85rem; }
.sector-chart-hint { margin: -0.2rem 0 0.7rem; font-size: 0.8rem; color: var(--text-muted); }
.sector-month-chart-wrap { position: relative; height: 13.5rem; border-radius: 12px; background: linear-gradient(180deg, rgba(208, 28, 66, 0.06), transparent 70%); }
.sector-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 0.75rem; }
.sector-grid-mix { grid-template-columns: 1.15fr 1fr; }
.sector-visit-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.45rem; }
.sector-visit { padding: 0.7rem 0.7rem 0.65rem; border-radius: 12px; background: rgba(0,0,0,0.03); display: flex; flex-direction: column; gap: 0.2rem; }
.sector-visit span { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); line-height: 1.3; }
.sector-visit strong { font-size: 1.35rem; letter-spacing: -0.03em; color: var(--text-primary); }
.sector-visit.is-restaurant { background: rgba(21, 101, 192, 0.08); }
.sector-visit.is-phone { background: rgba(208, 28, 66, 0.08); }
.sector-visit.is-online { background: rgba(93, 62, 188, 0.08); }
.sector-visit-note { margin: 0.65rem 0 0; font-size: 0.82rem; color: var(--text-secondary); line-height: 1.4; }
.sector-visit-note strong { color: var(--text-primary); }
.sector-pay-wrap { display: flex; align-items: center; gap: 1rem; }
.sector-pay-chart { width: 9.5rem; height: 9.5rem; flex-shrink: 0; }
.sector-pay-legend { list-style: none; margin: 0; padding: 0; flex: 1; }
.sector-pay-legend li { display: flex; align-items: center; gap: 0.45rem; padding: 0.28rem 0; font-size: 0.88rem; }
.sector-pay-legend i { width: 0.7rem; height: 0.7rem; border-radius: 99px; flex-shrink: 0; }
.sector-pay-legend span { flex: 1; color: var(--text-secondary); }
.sector-pay-legend strong { font-size: 0.9rem; }
.sector-card { padding: 1rem 1.1rem; border-radius: 14px; background: var(--card-bg); border: 1px solid var(--border-color); }
.sector-card h3 { margin: 0 0 0.7rem; font-size: 0.82rem; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-card-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.55rem; }
.sector-card-head h3 { margin: 0; }
.sector-peak-badge { flex-shrink: 0; padding: 0.18rem 0.55rem; border-radius: 99px; font-size: 0.75rem; font-weight: 700; color: #820e2b; background: rgba(208, 28, 66, 0.1); }
.sector-peak-note { margin: 0 0 0.7rem; font-size: 0.82rem; color: var(--text-secondary); line-height: 1.45; }
.sector-shares .sector-dual-row,
.sector-shares .sector-dual-row.is-you { grid-template-columns: 4.9rem minmax(0, 1fr) 3.4rem; }
.sector-slots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.85rem; }
.sector-slot { padding: 0.55rem 0.55rem 0.5rem; border-radius: 10px; background: rgba(0,0,0,0.03); display: flex; flex-direction: column; gap: 0.12rem; }
.sector-slot.is-top { background: rgba(208, 28, 66, 0.08); }
.sector-slot-label { font-size: 0.7rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-slot strong { font-size: 1.15rem; color: var(--text-primary); }
.sector-slot.is-top strong { color: #820e2b; }
.sector-slot-hint { font-size: 0.68rem; color: var(--text-muted); }
.sector-slot .sector-dual { margin-top: 0.32rem; }
.sector-slot .sector-dual-row { grid-template-columns: 1.35rem minmax(0, 1fr) 2.4rem; }
.sector-slot .sector-dual-row strong { font-size: 0.72rem; }
.sector-slot.is-you-top { box-shadow: inset 0 0 0 1px rgba(208, 28, 66, 0.32); }
.sector-slot-bar { display: block; position: relative; height: 7px; border-radius: 99px; background: rgba(0,0,0,0.08); overflow: visible; margin-top: 0.28rem; }
.sector-slot-bar i { display: block; height: 100%; background: #cfcfcf; border-radius: 99px; }
.sector-slot.is-top .sector-slot-bar i { background: var(--nav-bg); }
.sector-slot-you { position: absolute; top: 50%; width: 9px; height: 9px; margin-left: -4.5px; transform: translateY(-50%); border-radius: 99px; background: #d01c42; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(208, 28, 66, 0.28); z-index: 1; }
.sector-slot.is-you-top .sector-slot-you { background: #d01c42; }
.sector-hours { display: flex; align-items: flex-end; gap: 0.22rem; height: 12.4rem; padding: 1.35rem 0.15rem 1.2rem; }
.sector-hour { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
.sector-hour.is-dim { opacity: 0.4; }
.sector-hour.is-you-peak { opacity: 1; }
.sector-hour-bar { width: 78%; max-width: 16px; background: #d8d8d8; border-radius: 4px 4px 2px 2px; min-height: 3px; }
.sector-hour-bar.is-peak { background: var(--nav-bg); }
.sector-hour-shop { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 36%; max-width: 7px; border: 1.5px solid #d01c42; background: rgba(208, 28, 66, 0.22); border-radius: 4px 4px 2px 2px; pointer-events: none; z-index: 1; }
.sector-hour-you { position: absolute; left: 50%; width: 8px; height: 8px; margin-left: -4px; margin-bottom: -4px; border-radius: 99px; background: #d01c42; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(208, 28, 66, 0.3); z-index: 2; pointer-events: none; }
.sector-hour-you-lbl { position: absolute; left: 50%; transform: translateX(-50%); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.02em; color: #d01c42; white-space: nowrap; z-index: 3; pointer-events: none; }
.sector-hour-lbl { position: absolute; bottom: -1.05rem; font-size: 0.7rem; color: var(--text-muted); }
.sector-shares { list-style: none; margin: 0 0 1.05rem; padding: 0; }
.sector-shares:last-child { margin-bottom: 0; }
.sector-shares li { padding: 0.38rem 0 0.45rem; }
.sector-share-row { display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.88rem; margin-bottom: 0.22rem; }
.sector-share-track { position: relative; height: 10px; border-radius: 99px; background: rgba(0,0,0,0.06); overflow: visible; }
.sector-share-fill { display: block; height: 100%; border-radius: 99px; background: #242424; }
.sector-share-you { position: absolute; top: 50%; width: 11px; height: 11px; margin-left: -5.5px; transform: translateY(-50%); border-radius: 99px; background: #d01c42; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(208, 28, 66, 0.28); z-index: 1; }
.sector-share-fill.is-terminal { background: #1565c0; }
.sector-share-fill.is-paket { background: var(--nav-bg); }
.sector-share-fill.is-gelal { background: #ef6c00; }
.sector-share-fill.is-ys, .sector-share-fill.is-yemeksepeti { background: #fa0050; }
.sector-share-fill.is-getir, .sector-share-fill.is-gy { background: #5d3ebc; }
.sector-share-fill.is-trendyol, .sector-share-fill.is-ty { background: #f27a1a; }
.sector-share-fill.is-migros { background: #ff7a00; }
.sector-share-fill.is-online { background: #90a4ae; }
.sector-share-fill.is-kasiyer, .sector-share-fill.is-diger { background: #78909c; }
.sector-share-fill.is-salon, .sector-share-fill.is-masa { background: #242424; }
.sector-share-fill--pay { background: var(--nav-bg); }
.sector-ideas h3 { margin: 0 0 0.55rem; font-size: 0.82rem; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.04em; }
.sector-idea-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.sector-idea { padding: 0.8rem 0.95rem; border-radius: 12px; background: var(--card-bg); border: 1px solid var(--border-color); }
.sector-idea strong { display: block; margin-bottom: 0.25rem; font-size: 0.88rem; }
.sector-idea p { margin: 0; font-size: 0.82rem; color: var(--text-secondary); line-height: 1.4; }
.theme-dark .sector-slot { background: rgba(255,255,255,0.05); }
.theme-dark .sector-slot.is-top { background: rgba(208, 28, 66, 0.18); }
.theme-dark .sector-slot.is-top strong { color: #ffcdd2; }
.theme-dark .sector-share-track { background: rgba(255,255,255,0.08); }
.theme-dark .sector-visit { background: rgba(255,255,255,0.05); }
.theme-dark .sector-visit.is-restaurant { background: rgba(100, 181, 246, 0.12); }
.theme-dark .sector-visit.is-phone { background: rgba(208, 28, 66, 0.18); }
.theme-dark .sector-visit.is-online { background: rgba(179, 157, 219, 0.14); }
.theme-dark .sector-pay-legend i { box-shadow: 0 0 0 1px rgba(255,255,255,0.12); }
.theme-dark .sector-hero-main { background: radial-gradient(120% 90% at 88% 120%, rgba(76, 175, 80, 0.18), var(--card-bg) 58%); }
.theme-dark .sector-hero-main::before { background: #66bb6a; }
.theme-dark .sector-hero-kicker { color: #81c784; }
.theme-dark .sector-hero-pace { color: #a5d6a7; }
.theme-dark .sector-heartbeat-line { stroke: #81c784; }
.theme-dark .sector-stat.is-up { background: linear-gradient(180deg, rgba(129, 199, 132, 0.18), var(--card-bg) 70%); }
.theme-dark .sector-stat.is-up strong { color: #a5d6a7; }
.theme-dark .sector-stat.is-down { background: linear-gradient(180deg, rgba(239, 83, 80, 0.16), var(--card-bg) 70%); }
.theme-dark .sector-stat.is-down strong { color: #ef9a9a; }
.theme-dark .sector-stat.is-peak { background: linear-gradient(180deg, rgba(255, 193, 7, 0.18), var(--card-bg) 72%); }
.theme-dark .sector-stat.is-peak span, .theme-dark .sector-stat.is-peak strong { color: #ffe082; }
.theme-dark .sector-stat.is-forecast { background: linear-gradient(180deg, rgba(121, 134, 203, 0.2), var(--card-bg) 70%); }
.theme-dark .sector-stat.is-forecast span, .theme-dark .sector-stat.is-forecast strong { color: #c5cae9; }
@keyframes sector-hb-glow {
    0%, 100% { opacity: 0.32; transform: scale(1); }
    38% { opacity: 0.72; transform: scale(1.07); }
    52% { opacity: 0.28; transform: scale(0.97); }
}
@keyframes sector-ecg {
    0% { stroke-dashoffset: 280; opacity: 0.15; }
    28% { stroke-dashoffset: 0; opacity: 0.7; }
    55% { opacity: 0.22; }
    100% { stroke-dashoffset: -280; opacity: 0.12; }
}
.theme-dark .sector-peak-badge { color: #ffcdd2; background: rgba(208, 28, 66, 0.22); }
.theme-dark .sector-hour-bar { background: #4a4a4a; }
.theme-dark .sector-legend-city::before { background: #4a4a4a; }
.theme-dark .sector-legend-you::before { box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 3px rgba(239, 83, 80, 0.45); }
.theme-dark .sector-you-chip,
.theme-dark .sector-stat em.sector-you-chip,
.theme-dark .sector-share-amt em.sector-you-chip,
.theme-dark .sector-slot em.sector-you-chip { color: #cfd8dc; }
.theme-dark .sector-stat.is-up .sector-you-chip { color: #a5d6a7; }
.theme-dark .sector-stat.is-down .sector-you-chip { color: #ef9a9a; }
.theme-dark .sector-vs-track { background: rgba(255,255,255,0.1); }
.theme-dark .sector-vs-city { background: #90a4ae; box-shadow: 0 0 0 2px var(--card-bg); }
.theme-dark .sector-vs-you { box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 3px rgba(239, 83, 80, 0.4); }
.theme-dark .sector-vs.is-up .sector-vs-you { background: #81c784; box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 3px rgba(129, 199, 132, 0.35); }
.theme-dark .sector-hour-shop { border-color: #ef9a9a; background: rgba(239, 83, 80, 0.22); }
.theme-dark .sector-hour-you, .theme-dark .sector-slot-you, .theme-dark .sector-share-you { background: #ef5350; box-shadow: 0 0 0 2px var(--card-bg), 0 0 0 3px rgba(239, 83, 80, 0.4); }
.theme-dark .sector-hour-you-lbl { color: #ef9a9a; }
.theme-dark .sector-pill.is-up { background: rgba(129, 199, 132, 0.18); color: #a5d6a7; }
.theme-dark .sector-pill.is-down { background: rgba(239, 83, 80, 0.2); color: #ef9a9a; }
.theme-dark .sector-month-chart-wrap { background: linear-gradient(180deg, rgba(208, 28, 66, 0.12), transparent 70%); }
@media (max-width: 980px) {
    .sector-hero, .sector-top, .sector-grid, .sector-idea-grid { grid-template-columns: 1fr; }
    .sector-hero-side { grid-template-columns: 1fr 1fr; }
    .sector-slots { grid-template-columns: 1fr 1fr; }
    .sector-shop-stats { grid-template-columns: 1fr 1fr; }
    .sector-visit-row { grid-template-columns: 1fr; }
    .sector-pay-wrap { flex-direction: column; align-items: center; }
}
}
@media (max-width: 768px) {
    .kasa-two-columns { flex-direction: column; }
    .kasa-body-row { flex-direction: column; }
    .kasa-balance-rail { width: auto; }
}
.filter-checkbox-label { display: inline-flex; align-items: center; gap: 0.5rem; margin-right: 0.75rem; }
.reports-table tr.row-low-stock { background: rgba(198, 40, 40, 0.08); }
.theme-dark .reports-table tr.row-low-stock { background: rgba(244, 67, 54, 0.12); }
.paket-summary-cards { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.paket-summary-card { min-width: 140px; padding: 1rem; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--card-bg); }
.paket-summary-channel { font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.paket-summary-adet { font-size: 0.9rem; color: var(--text-secondary); }
.paket-summary-tutar { font-size: 1.1rem; font-weight: 600; color: var(--success, #2e7d32); margin-top: 0.35rem; }

/* Paketler — günlük özet */
.paket-report-shell { display: flex; flex-direction: column; gap: 0.85rem; }
.paket-report-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.paket-report-head-row .paket-report-tabs { flex: 1 1 auto; width: auto; max-width: none; }
.paket-settlement-close-btn { flex-shrink: 0; white-space: nowrap; }
.paket-toolbar-row { align-items: center; width: 100%; }
.paket-filter-selects {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
}
.paket-filter-select {
    min-width: 128px;
    max-width: 190px;
    font-size: 0.82rem;
    padding: 0.38rem 0.55rem;
}
.paket-filters-clear-inline {
    min-width: 2rem;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
}
.paket-report-tabs { display: flex; gap: 0.35rem; padding: 0.35rem; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; width: fit-content; max-width: 100%; flex-wrap: wrap; }
.paket-report-tab { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border: none; border-radius: 8px; background: transparent; color: var(--text-secondary); font-size: 0.88rem; font-weight: 600; cursor: pointer; transition: background 0.15s, color 0.15s, box-shadow 0.15s; }
.paket-report-tab:hover { background: var(--hover-bg); color: var(--text-primary); }
.paket-report-tab.active { background: var(--primary, #1565c0); color: #fff; box-shadow: 0 2px 8px rgba(21, 101, 192, 0.25); }
.paket-report-tab i { font-size: 0.85rem; opacity: 0.9; }
.paket-report-toolbar { margin-bottom: 0; }
.paket-report-hint { margin: 0; padding: 0.65rem 0.85rem; font-size: 0.82rem; color: var(--text-secondary); background: rgba(21, 101, 192, 0.06); border-left: 3px solid var(--primary, #1565c0); border-radius: 6px; line-height: 1.45; }
.paket-report-hint i { margin-right: 0.35rem; color: var(--primary, #1565c0); }
.paket-platform-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0.85rem; margin-bottom: 0.5rem; }
.paket-platform-grid--compact { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.paket-platform-card { border: 1px solid var(--border-color); border-radius: 12px; background: var(--card-bg); padding: 0.85rem 0.95rem; box-shadow: 0 2px 10px rgba(0,0,0,0.04); border-top: 3px solid var(--paket-accent, #607d8b); display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.paket-platform-card--compact { border-top-width: 2px; }
.paket-platform-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.5rem; }
.paket-platform-name { font-weight: 800; font-size: 0.95rem; color: var(--text-primary); line-height: 1.2; }
.paket-platform-total { font-weight: 800; font-size: 1.05rem; color: var(--paket-accent, #1565c0); white-space: nowrap; }
.paket-platform-meta { font-size: 0.78rem; color: var(--text-secondary); margin-bottom: 0.25rem; }
.paket-platform-metrics { display: flex; flex-direction: column; gap: 0.28rem; }
.paket-metric { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; font-size: 0.8rem; line-height: 1.35; }
.paket-metric-label { color: var(--text-secondary); flex: 1 1 auto; min-width: 0; }
.paket-metric-val { font-weight: 700; color: var(--text-primary); text-align: right; white-space: nowrap; }
.paket-metric-val small { font-weight: 600; color: var(--text-secondary); font-size: 0.72rem; }
.paket-metric--divider { height: 1px; background: var(--border-color); margin: 0.2rem 0; padding: 0; }
.paket-filters-wrap { display: flex; flex-direction: column; gap: 0.55rem; margin: 0.35rem 0 0.75rem; }
.paket-filters-group { display: flex; flex-direction: column; gap: 0.35rem; }
.paket-filters-group-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); padding-left: 0.1rem; }
.paket-filters-row { margin-bottom: 0; }
.paket-filters-clear { align-self: flex-start; margin-top: 0.15rem; }
.paket-filter-bar { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; margin: 0.35rem 0 0.65rem; }
.paket-filter-chip { padding: 0.35rem 0.65rem; border-radius: 999px; border: 1px solid var(--border-color); background: var(--card-bg); color: var(--text-secondary); font-size: 0.76rem; font-weight: 600; cursor: pointer; transition: all 0.12s; }
.paket-filter-chip:hover { border-color: var(--primary, #1565c0); color: var(--primary, #1565c0); }
.paket-filter-chip.active { background: rgba(21, 101, 192, 0.12); border-color: var(--primary, #1565c0); color: var(--primary, #1565c0); }
.paket-filter-chip--clear { border-style: dashed; color: var(--text-secondary); }
.paket-filter-sep { width: 1px; height: 1.25rem; background: var(--border-color); margin: 0 0.15rem; }
.paket-platform-pill { display: inline-block; padding: 0.15rem 0.45rem; border-radius: 6px; font-size: 0.75rem; font-weight: 700; background: color-mix(in srgb, var(--pill-color, #607d8b) 14%, transparent); color: var(--pill-color, #607d8b); border: 1px solid color-mix(in srgb, var(--pill-color, #607d8b) 35%, transparent); }
.paket-tag { display: inline-block; padding: 0.12rem 0.4rem; border-radius: 4px; font-size: 0.72rem; font-weight: 600; background: var(--hover-bg); color: var(--text-primary); white-space: nowrap; max-width: 140px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.paket-tag--pay { background: rgba(46, 125, 50, 0.1); color: #2e7d32; }
.paket-tag--courier { background: rgba(21, 101, 192, 0.1); color: #1565c0; }
.paket-tag--3p { background: rgba(255, 152, 0, 0.12); color: #e65100; }
.paket-check-icon.ok { color: #2e7d32; }
.paket-check-icon.bad { color: #c62828; }
.paket-check-icon.warn { color: #f57c00; }
.paket-report-table .amount-cell { font-weight: 700; white-space: nowrap; }

/* Kasa > Stoklar */
.reports-stocks-toolbar .reports-stocks-toolbar-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    width: 100%;
}
.reports-stocks-search {
    flex: 1 1 220px;
    min-width: 180px;
    max-width: 360px;
}
.reports-stocks-switch {
    margin: 0;
    flex-shrink: 0;
}
.reports-stocks-threshold {
    flex-shrink: 0;
}
.reports-stocks-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
.reports-stocks-btn {
    min-height: 2.15rem;
    min-width: 7.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}
.reports-stocks-filter-hint {
    width: 100%;
    margin-top: 0.35rem;
}
.reports-stocks-col-actions {
    width: 2.75rem;
    white-space: nowrap;
    text-align: center;
}
.reports-stocks-btn--icon {
    min-width: 2.15rem;
    width: 2.15rem;
    padding-left: 0;
    padding-right: 0;
}
.reports-stock-movements-head {
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
}
.reports-stock-movements-modal .reports-stock-movements-table td,
.reports-stock-movements-modal .reports-stock-movements-table th {
    font-size: 0.85rem;
}
.reports-stock-movements-price-cell {
    white-space: nowrap;
}
.reports-stock-price-delta {
    margin-left: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
}
.reports-stock-price-delta--up {
    color: #c62828;
}
.reports-stock-price-delta--down {
    color: #2e7d32;
}
.theme-dark .reports-stock-price-delta--up {
    color: #ef9a9a;
}
.theme-dark .reports-stock-price-delta--down {
    color: #a5d6a7;
}

/* Kasa > Stok transferi (profesyonel yeniden tasarım) */
.stx-shell {
    --stx-accent: var(--nav-bg, #d01c42);
    --stx-accent-soft: rgba(208, 28, 66, 0.08);
    --stx-accent-line: rgba(208, 28, 66, 0.28);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    flex: 1;
    min-height: 0;
    height: 100%;
}
.stx-shell--leaf {
    gap: 0.65rem;
}
.stx-panel-head--leaf {
    justify-content: flex-end;
    min-height: 2.75rem;
}
.stx-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid var(--border-color);
}
.stx-pager-label {
    font-size: 0.8rem;
    color: var(--text-secondary);
}
.stx-branch-transfer-table tbody tr {
    cursor: pointer;
    transition: background 0.12s;
}
.stx-branch-transfer-table tbody tr:hover { background: var(--hover-bg, rgba(0,0,0,0.03)); }
.stx-branch-transfer-table tbody tr.active { background: var(--stx-accent-soft); }
.stx-branch-transfer-detail {
    border-top: 1px solid var(--border-color);
    padding: 0.65rem 0.75rem 0.75rem;
}
.stx-branch-transfer-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}
.stx-detail-reject,
.stx-list-item-note--reject {
    color: #c62828;
    font-size: 0.82rem;
}
.stx-reject-reason {
    font-size: 0.8rem;
    color: var(--text-secondary);
    max-width: 12rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.stx-table-compact tbody td { padding: 0.35rem 0.55rem; }
.stx-loading-sm { padding: 0.75rem; }

/* Boydan boya sekmeler */
.stx-tabs {
    display: flex;
    align-items: stretch;
    gap: 0.4rem;
    padding: 0.45rem;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.stx-tab {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}
.stx-tab i { font-size: 0.95rem; opacity: 0.85; }
.stx-tab:hover { background: var(--hover-bg, rgba(0,0,0,0.04)); color: var(--text-primary); }
.stx-tab.active {
    background: var(--stx-accent);
    color: #fff;
    box-shadow: 0 4px 12px -2px var(--stx-accent-line);
}
.stx-tab.active i { opacity: 1; }
.stx-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.12);
    color: inherit;
    font-size: 0.72rem;
    font-weight: 700;
}
.stx-tab:not(.active) .stx-tab-count { background: var(--stx-accent-soft); color: var(--stx-accent); }
.stx-tab-refresh {
    flex: 0 0 auto;
    width: 2.6rem;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.stx-tab-refresh:hover { background: var(--hover-bg, rgba(0,0,0,0.04)); color: var(--stx-accent); }
.stx-tab-refresh:disabled { opacity: 0.6; cursor: default; }

/* Genel panel */
.stx-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.stx-panel-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--lighter-gray, #f8f9fa);
}
.theme-dark .stx-panel-head { background: rgba(255, 255, 255, 0.03); }
.stx-panel-head i { color: var(--stx-accent); font-size: 0.9rem; }
.stx-panel-head .stx-btn i { color: inherit; }
.stx-panel-head h4 { margin: 0; font-size: 0.9rem; font-weight: 700; color: var(--text-primary); }
.stx-panel-head-sub { font-size: 0.78rem; color: var(--text-muted); margin-left: auto; }
.stx-panel-scroll { flex: 1; min-height: 0; overflow: auto; padding: 0.35rem; }

/* 2 sütun düzeni: liste + detay (ferah) */
.stx-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.85fr) minmax(420px, 1.6fr);
    gap: 0.9rem;
    flex: 1;
    min-height: 0;
}
@media (max-width: 900px) {
    .stx-grid { grid-template-columns: 1fr; }
}
.stx-head-action { margin-left: auto; }

/* Form (col 1) */
.stx-form { padding: 0.85rem; display: flex; flex-direction: column; gap: 0.85rem; overflow: auto; }
.stx-field { display: flex; flex-direction: column; gap: 0.3rem; }
.stx-field > label { font-size: 0.78rem; font-weight: 600; color: var(--text-secondary); }
.stx-input {
    width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 0.85rem;
    font-family: inherit;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.stx-input:hover { border-color: var(--stx-accent-line); }
.stx-input:focus { outline: none; border-color: var(--stx-accent); box-shadow: 0 0 0 3px var(--stx-accent-soft); }
.stx-select-wrap, .stx-search-wrap { position: relative; }
.stx-select-wrap > i, .stx-search-wrap > i {
    position: absolute; left: 0.7rem; top: 50%; transform: translateY(-50%);
    color: var(--text-muted); font-size: 0.8rem; pointer-events: none;
}
.stx-select-wrap .stx-input, .stx-search-wrap .stx-input { padding-left: 2rem; }
.stx-select-wrap .stx-input { appearance: none; -webkit-appearance: none; cursor: pointer; }
.stx-search-spin { position: absolute; right: 0.7rem; top: 0.6rem; color: var(--stx-accent); }
.stx-hits {
    list-style: none; margin: 0.35rem 0 0; padding: 0.25rem;
    border: 1px solid var(--border-color); border-radius: 8px;
    background: var(--card-bg, #fff);
    box-shadow: 0 6px 18px -6px rgba(0,0,0,0.2);
    max-height: 220px; overflow: auto;
}
.stx-hits li { margin: 0; }
.stx-hits button {
    width: 100%; display: flex; align-items: center; gap: 0.5rem;
    padding: 0.5rem 0.55rem; border: none; background: transparent;
    border-radius: 6px; cursor: pointer; text-align: left; color: var(--text-primary);
}
.stx-hits button:hover { background: var(--stx-accent-soft); }
.stx-hit-main { flex: 1; display: flex; flex-direction: column; gap: 0.12rem; min-width: 0; }
.stx-hit-name { font-size: 0.84rem; font-weight: 500; }
.stx-hit-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.stx-hit-group { font-size: 0.72rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: 0.25rem; }
.stx-hit-code { font-size: 0.74rem; color: var(--text-muted); white-space: nowrap; display: inline-flex; align-items: center; gap: 0.25rem; }
.stx-hit-stock { font-size: 0.73rem; font-weight: 600; white-space: nowrap; }
.stx-hit-stock.is-low { color: var(--danger, #f44336); }
.stx-hit-stock.is-ok { color: var(--success, #2e7d32); }
.stx-hit-add { color: var(--stx-accent); font-size: 0.78rem; }

/* Profesyonel ürün picker: gruplu, stok/fiyat, sabit sütunlar */
.stx-field-picker { position: relative; z-index: 5; }
.stx-search-wrap--picker { z-index: 6; }
.stx-hits--picker {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.4rem);
    z-index: 30;
    margin: 0;
    padding: 0.35rem;
    max-height: min(360px, 48vh);
    overflow: auto;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg, #fff);
    box-shadow: 0 16px 40px -12px rgba(15, 23, 42, 0.35);
}
.stx-hits--hint {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.4rem);
    z-index: 30;
    margin: 0;
    padding: 0.75rem 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px dashed var(--border-color);
    border-radius: 10px;
    background: var(--lighter-gray, #f8f9fa);
    color: var(--text-muted);
    font-size: 0.82rem;
    box-shadow: none;
    max-height: none;
}
.theme-dark .stx-hits--hint { background: rgba(255,255,255,0.04); }
.stx-hit-group-block + .stx-hit-group-block { margin-top: 0.35rem; }
.stx-hit-group-label {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.55rem;
    margin: 0 0 0.2rem;
    border-radius: 8px;
    background: linear-gradient(180deg, #f1f4f7 0%, #e8ecf0 100%);
    color: #475569;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.theme-dark .stx-hit-group-label {
    background: rgba(255,255,255,0.06);
    color: var(--text-secondary);
}
.stx-hit-group-label i { opacity: 0.7; font-size: 0.7rem; }
.stx-hit-group-count {
    margin-left: auto;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
}
.theme-dark .stx-hit-group-count { background: rgba(255,255,255,0.1); }
.stx-hit-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.65rem;
    margin: 0 0 0.15rem;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
    text-align: left;
    color: var(--text-primary);
    transition: background 0.12s, border-color 0.12s;
}
.stx-hit-row:hover {
    background: var(--stx-accent-soft);
    border-color: var(--stx-accent-line);
}
.stx-hit-row.is-added {
    background: rgba(46, 125, 50, 0.08);
    border-color: rgba(46, 125, 50, 0.22);
}
.stx-hit-row.is-low .stx-hit-name { color: var(--text-secondary); }
.stx-hit-row .stx-hit-name {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stx-hit-row .stx-hit-meta {
    margin-top: 0.15rem;
    gap: 0.4rem;
}
.stx-hit-row .stx-hit-code i { margin-right: 0.2rem; opacity: 0.7; }
.stx-hit-row .stx-hit-stock {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.05rem;
    min-width: 4.5rem;
    font-variant-numeric: tabular-nums;
}
.stx-hit-stock-label {
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}
.stx-hit-row .stx-hit-stock strong { font-size: 0.9rem; line-height: 1.1; }
.stx-hit-stock-unit { font-size: 0.68rem; font-weight: 500; color: var(--text-muted); }
.stx-hit-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 4.4rem;
    justify-content: center;
    padding: 0.35rem 0.55rem;
    border-radius: 8px;
    background: var(--stx-accent);
    color: #fff;
    font-size: 0.74rem;
    font-weight: 700;
}
.stx-hit-row.is-added .stx-hit-action {
    background: #2e7d32;
}
.stx-hit-action i { font-size: 0.72rem; }
.stx-hit-price {
    font-size: 0.73rem; font-weight: 600; white-space: nowrap; flex: 0 0 auto;
    padding: 0.05rem 0.4rem; border-radius: 6px;
}
.stx-hit-price--al { color: #b26a00; background: rgba(255, 160, 0, 0.12); }
.stx-hit-price--sat { color: #1b5e20; background: rgba(46, 125, 50, 0.12); }
.theme-dark .stx-hit-price--al { color: #ffcc80; background: rgba(255, 160, 0, 0.18); }
.theme-dark .stx-hit-price--sat { color: #a5d6a7; background: rgba(76, 175, 80, 0.18); }
.stx-num-bad { color: var(--danger, #f44336); font-weight: 600; }

/* Eski rich stiller (geriye uyum) */
.stx-hits--rich {
    position: absolute; left: 0; right: 0; top: calc(100% + 0.35rem); z-index: 20;
    max-height: 300px;
}
.stx-hits--rich button { flex-wrap: nowrap; gap: 0.65rem; padding: 0.5rem 0.7rem; }
.stx-hits--rich .stx-hit-name {
    flex: 0 1 auto; min-width: 6rem; max-width: 16rem;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-weight: 600;
}
.stx-hits--rich .stx-hit-group { white-space: nowrap; flex: 0 0 auto; }
.stx-hits--rich .stx-hit-stock { flex: 0 0 auto; margin-left: auto; }
.stx-hits--rich .stx-hit-add { flex: 0 0 auto; }

/* Taslak satırları */
.stx-draft { border: 1px solid var(--border-color); border-radius: 10px; overflow: hidden; }
.stx-draft-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.5rem 0.65rem; background: var(--lighter-gray, #f8f9fa);
    font-size: 0.8rem; font-weight: 600; color: var(--text-secondary);
    border-bottom: 1px solid var(--border-color);
}
.theme-dark .stx-draft-head { background: rgba(255,255,255,0.03); }
.stx-draft-empty {
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    padding: 1.4rem 1rem; color: var(--text-muted); font-size: 0.8rem;
}
.stx-draft-empty i { font-size: 1.5rem; opacity: 0.5; }
.stx-draft-list { list-style: none; margin: 0; padding: 0.35rem; display: flex; flex-direction: column; gap: 0.3rem; }
.stx-draft-list li {
    display: grid; grid-template-columns: 1fr auto auto; gap: 0.5rem; align-items: center;
    padding: 0.35rem 0.4rem; border-radius: 7px; background: var(--lighter-gray, #f8f9fa);
}
.theme-dark .stx-draft-list li { background: rgba(255,255,255,0.03); }
.stx-draft-name { font-size: 0.82rem; font-weight: 500; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stx-qty { display: inline-flex; align-items: center; gap: 0.3rem; }
.stx-qty-input {
    width: 3.8rem; padding: 0.35rem 0.4rem; text-align: right;
    border: 1px solid var(--border-color); border-radius: 6px; font-size: 0.82rem;
    background: var(--card-bg, #fff); color: var(--text-primary);
}
.stx-qty-input:focus { outline: none; border-color: var(--stx-accent); box-shadow: 0 0 0 2px var(--stx-accent-soft); }
.stx-qty-unit { font-size: 0.74rem; color: var(--text-muted); min-width: 2.2rem; }
.stx-row-del {
    width: 1.8rem; height: 1.8rem; border: none; border-radius: 6px;
    background: transparent; color: var(--text-muted); cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s;
}
.stx-row-del:hover { background: rgba(244,67,54,0.12); color: var(--danger, #f44336); }

/* Butonlar */
.stx-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem;
    padding: 0.55rem 0.9rem; border: 1px solid transparent; border-radius: 8px;
    font-size: 0.85rem; font-weight: 600; cursor: pointer;
    transition: filter 0.15s, background 0.15s, box-shadow 0.15s;
}
.stx-btn:disabled { opacity: 0.55; cursor: default; }
.stx-btn-block { width: 100%; }
.stx-btn-primary { background: var(--stx-accent); color: #fff; box-shadow: 0 3px 10px -3px var(--stx-accent-line); }
.stx-btn-primary:not(:disabled):hover { filter: brightness(1.06); }
.stx-btn-success { background: var(--success, #4caf50); color: #fff; }
.stx-btn-success:not(:disabled):hover { filter: brightness(1.06); }
.stx-btn-danger { background: var(--danger, #f44336); color: #fff; }
.stx-btn-danger:not(:disabled):hover { filter: brightness(1.06); }
.stx-btn-sm { padding: 0.4rem 0.7rem; font-size: 0.8rem; }
.stx-btn-ghost { background: transparent; border-color: var(--border-color); color: var(--text-secondary); }
.stx-btn-ghost:not(:disabled):hover { background: var(--hover-bg, rgba(0,0,0,0.04)); color: var(--text-primary); }
.stx-btn-ghost-danger { background: transparent; border-color: rgba(244,67,54,0.4); color: var(--danger, #f44336); }
.stx-btn-ghost-danger:not(:disabled):hover { background: rgba(244,67,54,0.1); }
.stx-chip-warn { background: rgba(245,158,11,0.16); color: #b45309; }
.stx-chip-danger { background: rgba(244,67,54,0.14); color: #c62828; margin-left: 0.4rem; }
.stx-swal-list { text-align: left; margin: 0.75rem 0 0.5rem; padding-left: 1.2rem; max-height: 220px; overflow: auto; font-size: 0.88rem; line-height: 1.45; }
.stx-swal-list li { margin-bottom: 0.35rem; }

/* Yeni/düzenle transfer modalı */
.stx-modal-overlay {
    position: fixed; inset: 0; z-index: 3000;
    background: rgba(0, 0, 0, 0.5);
    display: flex; align-items: center; justify-content: center;
    padding: 1.5rem; backdrop-filter: blur(2px);
}
.stx-modal {
    width: min(1040px, 100%); max-height: 92vh;
    display: flex; flex-direction: column;
    background: var(--card-bg, #fff); border: 1px solid var(--border-color);
    border-radius: 14px; box-shadow: 0 20px 60px -12px rgba(0,0,0,0.4);
    overflow: hidden;
}
.stx-modal-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1rem 1.2rem; border-bottom: 1px solid var(--border-color);
    background: var(--stx-accent); color: #fff;
}
.stx-modal-head h3 { margin: 0; font-size: 1.02rem; font-weight: 700; display: inline-flex; align-items: center; gap: 0.5rem; }
.stx-modal-close {
    width: 2rem; height: 2rem; border: none; border-radius: 8px;
    background: rgba(255,255,255,0.15); color: #fff; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; transition: background 0.15s;
}
.stx-modal-close:hover { background: rgba(255,255,255,0.3); }
.stx-modal-body { padding: 1.2rem; overflow: auto; }
.stx-modal-form { display: flex; flex-direction: column; gap: 1rem; }
.stx-modal-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 620px) { .stx-modal-row { grid-template-columns: 1fr; } }
.stx-field-grow { min-width: 0; }
.stx-search-wrap--lg .stx-input { padding-top: 0.65rem; padding-bottom: 0.65rem; font-size: 0.9rem; }
.stx-modal-lines { border: 1px solid var(--border-color); border-radius: 10px; overflow: hidden; background: var(--card-bg, #fff); }
.stx-draft-empty--lg { padding: 2.2rem 1rem; }
.stx-modal-line-table thead th {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
    background: var(--lighter-gray, #f8f9fa);
}
.stx-modal-line-table tbody td { vertical-align: middle; }
.stx-modal-line-table .stx-draft-name { display: inline-block; margin-right: 0.4rem; font-weight: 600; }
.stx-qty-input--lg { width: 5.5rem; padding: 0.45rem 0.5rem; font-size: 0.88rem; }
.stx-modal-foot {
    display: flex; justify-content: flex-end; gap: 0.6rem;
    padding: 0.9rem 1.2rem; border-top: 1px solid var(--border-color);
    background: var(--lighter-gray, #f8f9fa);
}
.theme-dark .stx-modal-foot { background: rgba(255,255,255,0.03); }

/* Gelen bilgi paneli / istatistik */
.stx-info-card {
    display: flex; gap: 0.6rem; margin: 0.85rem; padding: 0.75rem 0.85rem;
    background: var(--stx-accent-soft); border: 1px solid var(--stx-accent-line);
    border-radius: 10px; color: var(--text-secondary);
}
.stx-info-card i { color: var(--stx-accent); margin-top: 0.15rem; }
.stx-info-card p { margin: 0; font-size: 0.82rem; line-height: 1.45; }
.stx-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; padding: 0 0.85rem 0.85rem; }
.stx-stat {
    display: flex; flex-direction: column; gap: 0.15rem; padding: 0.75rem;
    border: 1px solid var(--border-color); border-radius: 10px; background: var(--lighter-gray, #f8f9fa);
}
.theme-dark .stx-stat { background: rgba(255,255,255,0.03); }
.stx-stat-val { font-size: 1.4rem; font-weight: 700; color: var(--text-primary); line-height: 1; }
.stx-stat-label { font-size: 0.74rem; color: var(--text-muted); }
.stx-stat-warn .stx-stat-val { color: #d97706; }

/* Transfer listesi (col 2) */
.stx-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.stx-list-item {
    width: 100%; text-align: left; border: 1px solid var(--border-color);
    background: var(--card-bg, #fff); border-radius: 9px; padding: 0.6rem 0.7rem;
    cursor: pointer; display: flex; flex-direction: column; gap: 0.3rem;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.stx-list-item:hover { border-color: rgba(46, 125, 50, 0.35); }
.stx-list-item.active { border-color: #2e7d32; background: rgba(46, 125, 50, 0.10); box-shadow: 0 2px 8px -3px rgba(46, 125, 50, 0.4); }
.theme-dark .stx-list-item.active { background: rgba(76, 175, 80, 0.16); border-color: #66bb6a; }
.stx-list-item-top { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.stx-list-item-title { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.86rem; font-weight: 600; color: var(--text-primary); }
.stx-list-item-title i { font-size: 0.72rem; color: var(--text-muted); }
.stx-list-item-note { font-size: 0.75rem; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Detay (col 3) */
.stx-detail-head {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 0.65rem; padding: 0.85rem 0.9rem; border-bottom: 1px solid var(--border-color);
    background: var(--lighter-gray, #f8f9fa);
}
.theme-dark .stx-detail-head { background: rgba(255,255,255,0.03); }
.stx-detail-route { display: inline-flex; align-items: center; gap: 0.55rem; flex-wrap: wrap; }
.stx-route-node { font-size: 0.92rem; font-weight: 700; color: var(--text-primary); }
.stx-detail-route > i { color: var(--stx-accent); }
.stx-detail-actions { display: inline-flex; gap: 0.4rem; flex-wrap: wrap; }
.stx-detail-note {
    margin: 0.7rem 0.9rem 0; padding: 0.55rem 0.7rem; font-size: 0.82rem; color: var(--text-secondary);
    background: var(--stx-accent-soft); border-left: 3px solid var(--stx-accent); border-radius: 6px;
}
.stx-detail-note i { color: var(--stx-accent); margin-right: 0.3rem; font-size: 0.75rem; }

/* Durum rozeti */
.stx-status {
    display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.55rem;
    border-radius: 999px; font-size: 0.72rem; font-weight: 700; white-space: nowrap;
}
.stx-status .stx-dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
.stx-status.status-ok { background: rgba(76,175,80,0.14); color: #2e7d32; }
.stx-status.status-bad { background: rgba(244,67,54,0.14); color: #c62828; }
.stx-status.status-warn { background: rgba(245,158,11,0.16); color: #b45309; }
.stx-status.status-muted { background: rgba(120,120,120,0.14); color: var(--text-secondary); }
.theme-dark .stx-status.status-ok { color: #81c784; }
.theme-dark .stx-status.status-bad { color: #ef9a9a; }
.theme-dark .stx-status.status-warn { color: #ffcc80; }

/* Tablo */
.stx-table { width: 100%; border-collapse: collapse; font-size: 0.83rem; }
.stx-table thead th {
    position: sticky; top: 0; z-index: 1;
    padding: 0.55rem 0.7rem; text-align: left; font-size: 0.74rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.02em; color: var(--text-muted);
    background: var(--lighter-gray, #f8f9fa); border-bottom: 1px solid var(--border-color);
}
.theme-dark .stx-table thead th { background: #2a2a2a; }
.stx-table tbody td { padding: 0.5rem 0.7rem; border-bottom: 1px solid var(--border-color); color: var(--text-primary); }
.stx-table tbody tr:last-child td { border-bottom: none; }
.stx-table.stx-branch-table tbody tr { cursor: pointer; transition: background 0.12s; }
.stx-table.stx-branch-table tbody tr:not(.stx-row-local):hover { background: var(--hover-bg, rgba(0,0,0,0.03)); }
.stx-table.stx-branch-table tbody tr.active { background: var(--stx-accent-soft); }
.stx-num { text-align: right; font-variant-numeric: tabular-nums; }
.stx-num-ok { color: #2e7d32; font-weight: 600; }
.stx-num-bad { color: #c62828; font-weight: 600; }
.theme-dark .stx-num-ok { color: #81c784; }
.theme-dark .stx-num-bad { color: #ef9a9a; }
.stx-unit, .stx-muted { color: var(--text-muted); }
.stx-branch-name { font-weight: 600; }
.stx-chip { display: inline-flex; align-items: center; padding: 0.1rem 0.45rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; background: var(--stx-accent-soft); color: var(--stx-accent); }
.stx-chip-muted { background: rgba(120,120,120,0.14); color: var(--text-muted); margin-left: 0.35rem; }
.stx-empty-cell { text-align: center; padding: 1.4rem 0.7rem; color: var(--text-muted); font-size: 0.83rem; }

/* Şubeler sekmesi */
.stx-branches { display: flex; flex-direction: column; gap: 0.9rem; flex: 1; min-height: 0; overflow: hidden; }
.stx-branches-body {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.45fr);
    gap: 0.9rem;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.stx-branches-body > .stx-panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.stx-branches-summary-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.stx-branch-subtabs {
    display: flex;
    align-items: stretch;
    gap: 0.35rem;
    padding: 0.45rem 0.65rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--lighter-gray, #f8f9fa);
    flex-shrink: 0;
}
.theme-dark .stx-branch-subtabs { background: rgba(255, 255, 255, 0.03); }
.stx-branch-subtab {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.stx-branch-subtab:hover { background: var(--hover-bg, rgba(0,0,0,0.04)); color: var(--text-primary); }
.stx-branch-subtab.active {
    background: var(--stx-accent);
    color: #fff;
}
.stx-branch-detail-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.stx-panel-scroll--fill {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.stx-branch-parties-stack {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.stx-branch-parties-stack > .stx-panel-scroll {
    flex: 1;
    min-height: 0;
}
.stx-branch-parties-stack > .stx-pager { flex-shrink: 0; }
.stx-branches-summary .stx-branch-transfer-detail {
    flex: 0 0 auto;
    max-height: min(38vh, 320px);
    overflow: auto;
}
.stx-remote-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    font-size: 0.74rem;
    font-weight: 500;
    color: var(--text-muted);
}
.stx-remote-hint i { color: #1565c0; }
.stx-product-code {
    display: block;
    font-size: 0.72rem;
    margin-top: 0.12rem;
}
@media (max-width: 900px) { .stx-branches-body { grid-template-columns: 1fr; } }
.stx-alert {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 0.85rem;
    background: rgba(245,158,11,0.12); color: #b45309;
    border: 1px solid rgba(245,158,11,0.3); border-radius: 10px; font-size: 0.84rem;
}

/* Ortak durumlar */
.stx-loading { display: flex; align-items: center; justify-content: center; padding: 2rem; color: var(--stx-accent); font-size: 1.4rem; flex: 1; }
.stx-placeholder {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.6rem; padding: 2.5rem 1.5rem; text-align: center; flex: 1; min-height: 0;
}
.stx-placeholder-sm { padding: 1.8rem 1rem; }
.stx-placeholder-icon {
    width: 3.4rem; height: 3.4rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--stx-accent-soft); color: var(--stx-accent); font-size: 1.4rem;
}
.stx-placeholder h3 { margin: 0; font-size: 0.92rem; font-weight: 600; color: var(--text-secondary); }
.stx-hint {
    margin: 0.7rem 0.9rem 0; padding: 0.55rem 0.7rem; font-size: 0.78rem; line-height: 1.45;
    color: var(--text-secondary); background: rgba(21,101,192,0.06);
    border-left: 3px solid #1565c0; border-radius: 6px;
}
.stx-hint i { color: #1565c0; margin-right: 0.3rem; }

/* Kasa > Sayımlar */
.reports-inventory-count {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    flex: 1;
    min-height: 0;
    height: 100%;
}
.reports-inventory-count-sidebar {
    background: var(--surface-card, #fff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.5rem;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.reports-inventory-count-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.reports-inventory-count-sidebar-head h3 {
    margin: 0;
    font-size: 0.95rem;
}
.reports-inventory-party-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.reports-inventory-party-btn {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 0.375rem;
    padding: 0.55rem 0.6rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.reports-inventory-party-btn:hover,
.reports-inventory-party-btn.active {
    background: var(--surface-hover, #f3f4f6);
    border-color: var(--border-color, #e5e7eb);
}
.reports-inventory-party-name {
    font-weight: 600;
    font-size: 0.85rem;
    line-height: 1.25;
}
.reports-inventory-party-loc {
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--text-muted, #6b7280);
    line-height: 1.2;
}
.reports-inventory-loc-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    max-width: 9.5rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border: 1px solid transparent;
}
.reports-inventory-loc-chip--sales {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #bfdbfe;
}
.reports-inventory-loc-chip--wh {
    color: #9a3412;
    background: #fff7ed;
    border-color: #fed7aa;
}
.reports-inventory-party-status {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.inv-count-status--draft { color: #2563eb; }
.inv-count-status--locked { color: #d97706; }
.inv-count-status--approved { color: #059669; }
.reports-inventory-count-main {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.reports-inventory-count-main--empty {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--border-color, #d1d5db);
    border-radius: 0.5rem;
    background: var(--surface-card, #fff);
    padding: 1.5rem;
}
.reports-inventory-empty-panel {
    width: min(100%, 520px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
}
.reports-inventory-empty-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-hover, #f3f4f6);
    color: var(--text-muted, #6b7280);
    font-size: 1.35rem;
}
.reports-inventory-empty-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}
.reports-inventory-empty-desc {
    margin: 0;
    font-size: 0.88rem;
    color: var(--text-muted, #6b7280);
    max-width: 28rem;
}
.reports-inventory-empty-preview {
    width: 100%;
    margin-top: 0.75rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.5rem;
    overflow: hidden;
    background: var(--surface-hover, #f9fafb);
    opacity: 0.85;
}
.reports-inventory-empty-preview-head,
.reports-inventory-empty-preview-row {
    display: grid;
    grid-template-columns: 2fr 1fr 0.7fr 0.7fr 0.6fr;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    align-items: center;
}
.reports-inventory-empty-preview-head {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted, #6b7280);
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.reports-inventory-empty-preview-row + .reports-inventory-empty-preview-row {
    border-top: 1px solid var(--border-color, #e5e7eb);
}
.reports-inventory-empty-preview-bar {
    display: block;
    height: 0.55rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(148,163,184,0.25), rgba(148,163,184,0.12));
}
.reports-inventory-empty-preview-bar--name { width: 88%; }
.reports-inventory-empty-preview-bar--code { width: 70%; }
.reports-inventory-empty-preview-bar--qty { width: 55%; margin-left: auto; }
.reports-inventory-empty-preview-bar--diff { width: 45%; margin-left: auto; }

/* Sayım detay paneli */
.reports-inventory-detail {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.5rem;
    background: var(--surface-card, #fff);
    overflow: hidden;
}
.reports-inventory-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem 0.55rem;
    padding: 0.45rem 0.7rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    background: var(--surface-hover, #f9fafb);
}
.reports-inventory-toolbar-inputs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem 0.45rem;
    min-width: 0;
    flex: 1 1 auto;
}
.reports-inventory-filter {
    width: 132px;
    max-width: 100%;
    flex: 1 1 110px;
}
.reports-inventory-name-input {
    width: 156px;
    max-width: 100%;
    flex: 0 1 156px;
}
.reports-inventory-filter .filter-input,
.reports-inventory-add-product .filter-input,
.reports-inventory-toolbar-input {
    width: 100%;
    height: 1.85rem;
    min-height: 1.85rem;
    padding: 0 0.5rem;
    font-size: 0.82rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 0.375rem;
    background: var(--surface-card, #fff);
    color: inherit;
    box-sizing: border-box;
}
.reports-inventory-add-product {
    width: 210px;
    max-width: 32vw;
    flex: 0 0 210px;
}
.reports-inventory-toolbar-end {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    flex: 0 0 auto;
}
.reports-inventory-pills {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.28rem;
    flex: 0 0 auto;
}
.reports-inventory-pill {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    height: 1.85rem;
    padding: 0 0.65rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 999px;
    background: var(--surface-card, #fff);
    color: var(--text-secondary, #4b5563);
    font-size: 0.75rem;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}
.reports-inventory-pill:hover {
    border-color: var(--primary, #2563eb);
    color: var(--primary, #2563eb);
}
.reports-inventory-pill.active {
    background: var(--primary, #2563eb);
    border-color: var(--primary, #2563eb);
    color: #fff;
}
.reports-inventory-toolbar-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.28rem;
    margin-left: 0;
    flex: 0 0 auto;
}
.reports-inventory-action-btn {
    min-width: 2.15rem;
    min-height: 2.15rem;
    padding: 0 0.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.reports-inventory-btn-lock {
    background: #f59e0b;
    border-color: #d97706;
    color: #fff;
}
.reports-inventory-btn-lock:hover:not(:disabled) {
    background: #d97706;
    border-color: #b45309;
    color: #fff;
}
.reports-inventory-btn-delete-list {
    background: #ef4444;
    border-color: #dc2626;
    color: #fff;
}
.reports-inventory-btn-delete-list:hover:not(:disabled) {
    background: #dc2626;
    border-color: #b91c1c;
    color: #fff;
}
.reports-inventory-add-wrap {
    position: relative;
}
.reports-inventory-add-input-row {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}
.reports-inventory-add-input-row .filter-input {
    flex: 1;
    min-width: 0;
}
.reports-inventory-add-btn {
    min-width: 2.15rem;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
}
.reports-inventory-add-dropdown {
    position: absolute;
    z-index: 30;
    left: 0;
    right: 0;
    top: calc(100% + 0.25rem);
    max-height: 280px;
    overflow: auto;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.5rem;
    background: var(--surface-card, #fff);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.reports-inventory-add-hit {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.reports-inventory-add-hit:hover {
    background: var(--surface-hover, #f3f4f6);
}
.reports-inventory-add-hit-name {
    font-weight: 600;
    font-size: 0.88rem;
}
.reports-inventory-add-hit-meta {
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}
.reports-inventory-group-picker {
    flex: 0 0 auto;
}
.reports-inventory-group-dropdown {
    min-width: 240px;
    right: 0;
    left: auto;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.reports-inventory-group-filter {
    width: 100%;
    height: 1.85rem;
    padding: 0 0.5rem;
    font-size: 0.82rem;
    box-sizing: border-box;
}
.reports-inventory-group-opt {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.28rem 0.2rem;
    font-size: 0.82rem;
    cursor: pointer;
}
.reports-inventory-group-opt:hover {
    background: var(--surface-hover, #f3f4f6);
}
.reports-inventory-group-empty {
    font-size: 0.8rem;
    color: var(--text-muted, #6b7280);
    padding: 0.4rem 0.2rem;
}
.reports-inventory-group-apply {
    margin-top: 0.15rem;
    width: 100%;
}
.reports-inventory-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.reports-inventory-table-wrap {
    border: 0;
    border-radius: 0;
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.reports-inventory-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}
.reports-inventory-table .reports-inventory-col-qty {
    width: 5.5rem;
    text-align: center;
    white-space: nowrap;
}
.reports-inventory-table .reports-inventory-col-act {
    width: 2.5rem;
    text-align: center;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.reports-inventory-qty-input {
    appearance: none;
    -webkit-appearance: none;
    width: 4.75rem;
    max-width: 100%;
    height: 1.85rem;
    min-height: 1.85rem;
    padding: 0 0.35rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 0.375rem;
    background: var(--surface-card, #fff);
    color: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    text-align: center;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.reports-inventory-qty-input:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.reports-inventory-qty-read {
    font-weight: 600;
}
.reports-inventory-row-delete {
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    background: transparent;
    color: var(--text-muted, #9ca3af);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.reports-inventory-row-delete:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.25);
    color: #dc2626;
}
.stk-loc {
    display: flex;
    min-height: 0;
    flex: 1;
    gap: 0.75rem;
    overflow: hidden;
}
.stk-loc-side {
    width: 15rem;
    flex: 0 0 15rem;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.7rem;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 8rem);
    padding: 0.65rem 0.55rem 0.55rem;
}
.stk-loc-side-head {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.15rem 0.25rem 0.45rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    margin-bottom: 0.15rem;
}
.stk-loc-side-head > i {
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ecfdf5;
    color: #15803d;
    font-size: 0.9rem;
    flex: 0 0 auto;
}
.stk-loc-side-head strong {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
}
.stk-loc-side-head small {
    display: block;
    font-size: 0.68rem;
    color: var(--text-muted, #6b7280);
}
.stk-loc-side-label {
    margin: 0.35rem 0.2rem 0.1rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #94a3b8);
}
.stk-loc-list--sales {
    flex: 0 0 auto;
    overflow: visible;
}
.stk-loc-empty {
    cursor: default !important;
    color: var(--text-muted, #94a3b8);
    font-size: 0.75rem;
    font-weight: 500;
}
.stk-loc-name-ico {
    margin-right: 0.3rem;
    color: var(--text-muted, #94a3b8);
    font-size: 0.72rem;
    width: 0.85rem;
    text-align: center;
}
.stk-loc-list li.active .stk-loc-name-ico {
    color: inherit;
}
.stk-loc-new {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}
.stk-loc-input,
.stk-loc .filter-input,
.stk-loc select.filter-input {
    appearance: none;
    -webkit-appearance: none;
    height: 2.05rem;
    min-height: 2.05rem;
    padding: 0 0.65rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 0.45rem;
    background: var(--surface-card, #fff);
    color: inherit;
    font-size: 0.84rem;
    font-family: inherit;
    box-sizing: border-box;
}
.stk-loc-input:focus,
.stk-loc .filter-input:focus,
.stk-loc select.filter-input:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}
.stk-loc-new .stk-loc-input {
    flex: 1;
    min-width: 0;
}
.stk-loc-add-btn {
    flex: 0 0 auto;
    width: 2.05rem;
    height: 2.05rem;
    min-height: 2.05rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.stk-loc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    min-height: 0;
    flex: 1;
}
.stk-loc-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    padding: 0.38rem 0.4rem;
    border-radius: 0.4rem;
    font-size: 0.8rem;
    cursor: pointer;
}
.stk-loc-list li:hover {
    background: var(--surface-hover, #f3f4f6);
}
.stk-loc-list li.active {
    background: #ecfdf5;
    color: #166534;
    font-weight: 650;
    box-shadow: inset 3px 0 0 #22c55e;
}
.stk-loc-list li.muted {
    opacity: 0.55;
}
.stk-loc-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.05rem;
}
.stk-loc-name small {
    color: var(--text-muted, #6b7280);
    font-weight: 500;
    font-size: 0.7rem;
}
.stk-loc-actions {
    display: inline-flex;
    gap: 0.15rem;
    flex: 0 0 auto;
}
.stk-loc-icon-btn {
    width: 1.85rem;
    height: 1.85rem;
    border: 1px solid transparent;
    border-radius: 0.4rem;
    background: transparent;
    color: var(--text-muted, #9ca3af);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.stk-loc-icon-btn:hover {
    background: var(--surface-hover, #f3f4f6);
    color: inherit;
}
.stk-loc-icon-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.stk-loc-icon-btn--danger:hover {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.25);
    color: #dc2626;
}
.stk-loc-main {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    position: relative;
}
.stk-loc-toolbar {
    --stk-bar-h: 2.25rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
    min-height: var(--stk-bar-h);
    overflow: visible;
}
.stk-loc-tabs {
    display: inline-flex;
    flex: 0 0 auto;
    height: var(--stk-bar-h);
    padding: 3px;
    box-sizing: border-box;
    border-radius: 8px;
    background: #e2e8f0;
    gap: 2px;
    align-items: stretch;
}
.stk-loc-tab {
    height: auto;
    min-height: 0;
    min-width: 5.4rem;
    padding: 0 0.85rem;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 800;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-sizing: border-box;
}
.stk-loc-tab.active {
    background: #ea580c;
    color: #fff;
    box-shadow: 0 1px 2px rgba(234, 88, 12, 0.35);
}
.stk-loc-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    margin-left: 0.3rem;
    padding: 0 0.28rem;
    border-radius: 999px;
    background: #fff;
    color: #ea580c;
    font-size: 0.65rem;
    font-weight: 800;
    line-height: 1;
}
.stk-loc-tab:not(.active) .stk-loc-tab-badge {
    background: #ea580c;
    color: #fff;
}
.stk-loc-search-wrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 9rem;
    max-width: none;
    height: var(--stk-bar-h);
    display: flex;
    align-items: center;
}
.stk-loc-toolbar .filter-input.stk-loc-stock-search,
.stk-loc-search-wrap .stk-loc-stock-search {
    width: 100%;
    max-width: none;
    height: var(--stk-bar-h);
    min-height: var(--stk-bar-h);
    max-height: var(--stk-bar-h);
    box-sizing: border-box;
}
.stk-loc-filter-wrap {
    position: relative;
    flex: 0 0 auto;
    height: var(--stk-bar-h);
    display: flex;
    align-items: center;
}
.stk-loc-filter-btn.stk-loc-filter-btn--active {
    background: rgba(234, 88, 12, 0.22);
    border-color: #ea580c;
    color: #c2410c;
}
.stk-loc-filter-dropdown {
    right: auto;
    left: 0;
    min-width: 12rem;
}
.stk-loc-create-overlay {
    z-index: 11000;
}
.stk-loc-create-modal {
    width: 28rem;
    max-width: calc(100vw - 2rem);
}
.stk-loc-import-modal {
    width: 56rem;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2.5rem);
    display: flex;
    flex-direction: column;
}
.stk-loc-import-modal .modal-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.stk-loc-import-hint {
    margin: 0 0 0.55rem;
}
.stk-loc-import-search {
    margin-bottom: 0.65rem;
}
.stk-loc-import-split {
    display: grid;
    grid-template-columns: minmax(12rem, 16rem) 1fr;
    gap: 0.75rem;
    min-height: 18rem;
    flex: 1;
    overflow: hidden;
}
.stk-loc-import-groups,
.stk-loc-import-items {
    border: 1px solid #eceef1;
    border-radius: 0.5rem;
    overflow: auto;
    min-height: 0;
    background: #fff;
}
.stk-loc-import-col-head {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.4rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    background: #f6f7f9;
    border-bottom: 1px solid #eceef1;
}
.stk-loc-import-item-actions {
    display: flex;
    gap: 0.25rem;
}
.stk-loc-import-g,
.stk-loc-import-i {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.4rem 0.55rem;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
}
.stk-loc-import-g .app-switch--mini,
.stk-loc-import-i .app-switch--mini {
    flex-shrink: 0;
}
.stk-loc-import-g .app-switch--mini input,
.stk-loc-import-i .app-switch--mini input {
    pointer-events: none;
}
.stk-loc-import-g .app-switch--mini.is-disabled,
.stk-loc-import-i .app-switch--mini.is-disabled {
    pointer-events: none;
}
.stk-loc-import-g.active {
    background: #fff7ed;
}
.stk-loc-import-g.muted {
    opacity: 0.55;
}
.stk-loc-import-g-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
}
.stk-loc-import-g-btn small,
.stk-loc-import-i small {
    color: #9ca3af;
    font-size: 0.72rem;
    white-space: nowrap;
}
.stk-loc-import-i-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stk-loc-import-i.on {
    opacity: 0.55;
}
.stk-loc-import-empty {
    padding: 0.75rem 0.65rem;
    font-size: 0.8rem;
}
.stk-loc-import-sel {
    margin-right: auto;
    font-size: 0.8rem;
    color: #6b7280;
}
.stk-loc-qty-btn--add {
    color: #0f766e;
    font-weight: 700;
}
.stk-loc-create-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.55rem;
}
.stk-loc-create {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.65rem 0.75rem;
    margin: 0 0 0.35rem;
    border: 1px solid #fed7aa;
    border-radius: 0.55rem;
    background: #fff7ed;
}
.stk-loc-create-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}
.stk-loc-create-row .stk-loc-input {
    flex: 1 1 9rem;
    min-width: 8rem;
}
.stk-loc-create-hint {
    margin: 0;
    font-size: 0.72rem;
    color: #9a3412;
    line-height: 1.35;
}
.stk-loc-empty-cell {
    padding: 1.1rem 0.75rem !important;
}
.stk-loc-empty-actions p {
    margin: 0 0 0.65rem;
    color: var(--text-muted, #64748b);
    font-size: 0.85rem;
}
.stk-loc-empty-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
}
.stk-qty-input--price {
    width: 5.2rem;
    max-width: 5.2rem;
}
.stk-loc-hit-create {
    border-top: 1px dashed #e2e8f0;
}
.stk-loc-tool-btn {
    width: var(--stk-bar-h, 2.25rem);
    height: var(--stk-bar-h, 2.25rem);
    min-width: var(--stk-bar-h, 2.25rem);
    min-height: var(--stk-bar-h, 2.25rem);
    padding: 0;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 0.45rem;
    background: #fff;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    box-sizing: border-box;
    line-height: 1;
}
.stk-loc-tool-btn:hover:not(:disabled) {
    background: #f8fafc;
    border-color: #cbd5e1;
}
.stk-loc-tool-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.stk-loc-toolbar .btn.stk-loc-seed,
.stk-loc-toolbar .btn.stk-loc-import,
.stk-loc-toolbar .btn.stk-loc-zero {
    height: var(--stk-bar-h);
    min-height: var(--stk-bar-h);
    max-height: var(--stk-bar-h);
    padding: 0 0.75rem;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex: 0 1 auto;
    border-radius: 0.45rem;
    box-sizing: border-box;
    transform: none;
}
.stk-loc-toolbar .btn.stk-loc-seed:hover:not(:disabled),
.stk-loc-toolbar .btn.stk-loc-import:hover:not(:disabled),
.stk-loc-toolbar .btn.stk-loc-zero:hover:not(:disabled) {
    transform: none;
}
.stk-loc-toolbar .stk-loc-filter-btn {
    width: var(--stk-bar-h);
    height: var(--stk-bar-h);
    min-width: var(--stk-bar-h);
    min-height: var(--stk-bar-h);
    box-sizing: border-box;
}
.stk-loc-toolbar .stk-loc-filter-btn.kasa-quick-filter-btn--has-label {
    width: auto;
}
.stk-loc-zero {
    margin-left: 0;
}
.stk-loc-context {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.2rem 0.55rem 0.2rem 0.2rem;
    margin-right: 0.25rem;
}
.stk-loc-context > i {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff7ed;
    color: #c2410c;
    flex: 0 0 auto;
}
.stk-loc-context strong {
    display: block;
    font-size: 0.92rem;
    line-height: 1.15;
}
.stk-loc-context small {
    display: block;
    font-size: 0.68rem;
    color: var(--text-muted, #6b7280);
    font-weight: 500;
}
.stk-loc-toolbar-left {
    display: none;
}
.stk-loc-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    flex: 0 0 auto;
}
.stk-loc-toggle > span:first-child {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-muted, #64748b);
}
.stk-loc-kpi--sku {
    background: #dbeafe;
    border-color: #93c5fd;
}
.stk-loc-kpi--qty {
    background: #ccfbf1;
    border-color: #5eead4;
}
.stk-loc-kpi--value {
    background: #dcfce7;
    border-color: #86efac;
}
.stk-loc-kpi--xfer {
    background: #ffedd5;
    border-color: #fdba74;
}
.stk-loc-kpi--sku span { color: #1e40af; }
.stk-loc-kpi--qty span { color: #0f766e; }
.stk-loc-kpi--value span { color: #15803d; }
.stk-loc-kpi--xfer span { color: #c2410c; }
.stk-loc-kpi--sku strong { color: #1d4ed8; }
.stk-loc-kpi--qty strong { color: #0f766e; }
.stk-loc-kpi--value strong { color: #15803d; }
.stk-loc-kpi--xfer strong { color: #c2410c; }
.stk-loc-stock-search,
.stk-loc-line-search,
.products-admin-stock-search {
    border: 1px solid var(--border-color, #e2e8f0);
}
.stk-loc-stock-search {
    flex: 1 1 12rem;
    width: auto;
    max-width: none;
    min-width: 8rem;
    margin-left: 0;
    padding-left: 36px !important;
    background: var(--light-gray, #f5f5f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center !important;
    height: var(--stk-bar-h, 2.25rem);
    min-height: var(--stk-bar-h, 2.25rem);
    max-height: var(--stk-bar-h, 2.25rem);
    box-sizing: border-box;
}
.stk-loc-stock-search:focus {
    background-color: var(--white, #fff) !important;
}
@media (max-width: 920px) {
    .stk-loc-stock-search {
        flex: 1 1 100%;
        min-width: 0;
    }
}
.stk-loc-line-search {
    width: 100%;
    padding-left: 36px !important;
    background: var(--light-gray, #f5f5f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center !important;
    height: 2rem;
    min-height: 2rem;
}
.stk-loc-icon-btn--to-sales {
    color: #fff;
    background: #16a34a;
    border-color: #16a34a;
}
.stk-loc-icon-btn--to-sales:hover {
    background: #15803d;
    color: #fff;
}
.stk-loc-icon-btn--to-wh {
    color: #fff;
    background: #ea580c;
    border-color: #ea580c;
}
.stk-loc-icon-btn--to-wh:hover {
    background: #c2410c;
    color: #fff;
}
.stk-loc-qty-edit {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    justify-content: flex-end;
}
.stk-loc-qty-edit.dirty .reports-inventory-qty-input,
.stk-qty-cell--dirty .stk-qty-input {
    border-color: #2563eb;
    background: #eff6ff;
}
.stk-qty-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    justify-content: flex-end;
}
.stk-qty-unit {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #6b7280);
    min-width: 1.6rem;
}
.stk-qty-input {
    appearance: none;
    -webkit-appearance: none;
    width: 4.4rem;
    max-width: 4.4rem;
    height: 1.9rem;
    min-height: 1.9rem;
    padding: 0 0.35rem;
    border: 1px solid #d1d5db;
    border-radius: 0.4rem;
    background: #fff;
    color: inherit;
    font-size: 0.84rem;
    font-weight: 650;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    text-align: center;
    box-sizing: border-box;
}
.stk-qty-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
}
.stk-qty-btn {
    width: 1.9rem;
    height: 1.9rem;
    min-width: 1.9rem;
    padding: 0;
    border: 1px solid #d1d5db;
    border-radius: 0.4rem;
    background: #fff;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.stk-qty-btn:hover:not(:disabled) {
    border-color: #94a3b8;
    background: #f8fafc;
}
.stk-qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.stk-qty-btn--add {
    border-color: #86efac;
    background: #f0fdf4;
    color: #15803d;
}
.stk-qty-btn--add:hover:not(:disabled) {
    background: #dcfce7;
    border-color: #4ade80;
}
.stk-qty-btn--save {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}
.stk-qty-btn--save:hover:not(:disabled) {
    background: #dbeafe;
    border-color: #60a5fa;
}
.stk-loc-onhand {
    color: #0f172a;
    font-weight: 700;
}
.stk-loc-qty-btn {
    appearance: none;
    border: 1px dashed transparent;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    padding: 0.12rem 0.35rem;
    margin: 0;
    border-radius: 0.35rem;
    cursor: text;
    min-width: 4.2rem;
    text-align: right;
}
.stk-loc-qty-btn:hover {
    border-color: #93c5fd;
    background: #eff6ff;
}
.stk-loc-qty-btn--neg,
.stk-loc-qty--neg {
    color: #b91c1c;
}
.stk-qty-input--inline {
    width: 4.2rem;
    max-width: 4.2rem;
}
.stk-loc-print-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-left: auto;
    position: relative;
    overflow: visible;
}
.stk-loc-print-actions .reports-action-btn {
    padding: 0.35rem 0.6rem;
    font-size: 0.75rem;
}
.stock-print-wrap { position: relative; display: inline-flex; flex-shrink: 0; }
.stock-print-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 2.15rem;
    padding: 0 0.8rem;
    border-radius: 10px;
    border: 1px solid var(--border-color, #d1d5db);
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111827);
    font-weight: 650;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
}
.stock-print-btn:hover:not(:disabled) { border-color: #1976d2; color: #1565c0; }
.stock-print-btn:disabled { opacity: 0.55; cursor: default; }
.stock-print-caret { font-size: 0.7rem; opacity: 0.7; }
.stock-print-menu {
    position: fixed;
    z-index: 12050;
    width: 26rem;
    max-width: calc(100vw - 16px);
    max-height: min(72vh, 34rem);
    overflow: auto;
    padding: 0.85rem;
    border-radius: 14px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--card-bg, #fff);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}
.stock-print-menu-label {
    margin: 0 0 0.4rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #6b7280);
}
.stock-print-menu-label + .stock-print-kind,
.stock-print-groups + .stock-print-menu-label { margin-top: 0.7rem; }
.stock-print-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; margin-bottom: 0.55rem; }
.stock-print-scope-btn {
    appearance: none;
    border: 1px solid var(--border-color, #d1d5db);
    background: #f8fafc;
    color: var(--text-primary, #111827);
    border-radius: 9px;
    padding: 0.5rem 0.55rem;
    font-weight: 700;
    font-size: 0.8rem;
    cursor: pointer;
}
.stock-print-scope-btn.active {
    border-color: #1976d2;
    background: #e3f2fd;
    color: #0d47a1;
}
.stock-print-groups-search {
    width: 100%;
    height: 2rem;
    margin-bottom: 0.4rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 8px;
    padding: 0 0.6rem;
    font-size: 0.82rem;
}
.stock-print-groups-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
}
.stock-print-groups-actions button {
    appearance: none;
    border: none;
    background: none;
    color: #1565c0;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}
.stock-print-groups ul {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 11rem;
    overflow: auto;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
}
.stock-print-groups li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.42rem 0.6rem;
    cursor: pointer;
    font-size: 0.82rem;
    border-bottom: 1px solid #f1f5f9;
}
.stock-print-groups li:last-child { border-bottom: none; }
.stock-print-groups li.checked { background: #eff6ff; }
.stock-print-groups-empty { cursor: default; color: var(--text-muted, #6b7280); }
.stock-print-check {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    border-radius: 4px;
    border: 1.5px solid #94a3b8;
    background: #fff;
    box-sizing: border-box;
}
.stock-print-check.on {
    border-color: #1565c0;
    background: #1565c0;
    box-shadow: inset 0 0 0 2px #fff;
}
.stock-print-kind {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.62rem 0.75rem;
    border-radius: 10px;
    border: 1px solid var(--border-color, #d1d5db);
    background: #fff;
    color: var(--text-primary, #111827);
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    text-align: left;
}
.stock-print-kind i { width: 1.1rem; color: #1976d2; }
.stock-print-kind--pdf i { color: #c62828; }
.stock-print-kind:hover { border-color: #1976d2; background: #f8fbff; }
.stock-print-preview-swal { padding-bottom: 1rem; }
.stock-print-preview-frame {
    height: min(68vh, 720px);
    overflow: hidden;
    background: #e8eaed;
    border-radius: 10px;
}
.stock-print-preview-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}
.stock-print-preview-frame.is-slip {
    max-width: 92mm;
    margin: 0 auto;
    height: min(68vh, 640px);
    box-shadow: 0 0 0 1px #d1d5db;
}
.theme-dark .stock-print-btn { background: #1e293b; border-color: #334155; color: #e2e8f0; }
.theme-dark .stock-print-menu { background: #1e293b; border-color: #334155; }
.theme-dark .stock-print-scope-btn { background: #0f172a; border-color: #334155; color: #e2e8f0; }
.theme-dark .stock-print-scope-btn.active { background: #1e3a5f; border-color: #60a5fa; color: #bfdbfe; }
.theme-dark .stock-print-kind { background: #0f172a; border-color: #334155; color: #e2e8f0; }
.theme-dark .stock-print-groups li { border-bottom-color: #334155; }
.theme-dark .stock-print-groups li.checked { background: #1e3a5f; }
.stk-loc--embed {
    min-height: min(62vh, 640px);
    height: min(62vh, 640px);
}
.products-admin-stock-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex-shrink: 0;
    background: #f1f5f9;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.products-admin-stock-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 2.75rem;
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #475569;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    line-height: 1.2;
}
.products-admin-stock-tab i { opacity: 0.75; }
.products-admin-stock-tab.active {
    background: #fff;
    color: #0f172a;
    border-bottom-color: var(--primary-color, #e0143a);
}
.products-admin-stock-tab.active i { opacity: 1; }
.products-admin-stock-tab--depot.active {
    color: #9a3412;
    border-bottom-color: #ea580c;
}
.products-admin-stock-tab--depot.active i { color: #c2410c; }
.products-admin-stock-panes {
    display: inline-flex;
    gap: 2px;
    flex: 0 0 auto;
    padding: 3px;
    border-radius: 10px;
    background: #f1f5f9;
}
.products-admin-stock-pane {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: none;
    background: transparent;
    color: #475569;
    border-radius: 8px;
    padding: 0.42rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 650;
    cursor: pointer;
    line-height: 1.2;
}
.products-admin-stock-pane i { opacity: 0.75; }
.products-admin-stock-pane.active {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}
.products-admin-stock-pane--depot.active {
    color: #9a3412;
}
.products-admin-stock-pane--depot.active i { color: #c2410c; opacity: 1; }
.products-admin-stock-search {
    flex: 0 0 12rem;
    width: 12rem;
    max-width: 12rem;
    min-width: 10rem;
    padding-left: 36px !important;
    background: var(--light-gray, #f5f5f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center !important;
    height: 2.2rem;
}
.products-admin-stock-modal--depot {
    width: min(96vw, 1320px);
    max-width: min(96vw, 1320px);
}
.products-admin-stock-modal--depot .modal-body {
    min-height: min(68vh, 700px);
}
.stk-loc-stock {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    overflow: hidden;
}
.stk-loc-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.4rem;
}
.stk-loc-kpi {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.45rem;
    background: var(--surface-card, #fff);
    padding: 0.35rem 0.55rem;
    min-width: 0;
}
.stk-loc-kpi span {
    display: block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted, #6b7280);
}
.stk-loc-kpi strong {
    display: block;
    margin-top: 0.08rem;
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.stk-loc-kpi--sku { background: #dbeafe; border-color: #93c5fd; }
.stk-loc-kpi--qty { background: #ccfbf1; border-color: #5eead4; }
.stk-loc-kpi--value { background: #dcfce7; border-color: #86efac; }
.stk-loc-kpi--xfer { background: #ffedd5; border-color: #fdba74; }
.stk-loc-kpi--sku span, .stk-loc-kpi--sku strong { color: #1d4ed8; }
.stk-loc-kpi--qty span, .stk-loc-kpi--qty strong { color: #0f766e; }
.stk-loc-kpi--value span, .stk-loc-kpi--value strong { color: #15803d; }
.stk-loc-kpi--xfer span, .stk-loc-kpi--xfer strong { color: #c2410c; }
.stk-loc-table-wrap {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.stk-loc-grid {
    font-size: 0.8rem;
    table-layout: fixed;
    width: 100%;
}
.stk-loc-grid col.stk-loc-col-name { width: 42%; }
.stk-loc-grid col.stk-loc-col-qty { width: 6.2rem; }
.stk-loc-grid col.stk-loc-col-add { width: 7.2rem; }
.stk-loc-grid col.stk-loc-col-money { width: 5.8rem; }
.stk-loc-grid col.stk-loc-col-pct { width: 3.8rem; }
.stk-loc-grid col.stk-loc-col-cari { width: 6.5rem; }
.stk-loc-grid col.stk-loc-col-date { width: 6.4rem; }
.stk-loc-grid col.stk-loc-col-act { width: 4.6rem; }
.stk-loc-grid thead {
    background: #f6f7f9;
    color: #6b7280;
}
.stk-loc-grid thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f6f7f9;
    color: #6b7280;
    font-weight: 600;
    border-bottom: 1px solid #eceef1;
    box-shadow: none;
    vertical-align: middle;
    text-align: left;
}
.stk-loc-grid th,
.stk-loc-grid td {
    padding: 0.32rem 0.45rem;
    vertical-align: middle;
}
.stk-loc-grid th.stk-loc-col-name,
.stk-loc-grid td.stk-loc-col-name,
.stk-loc-grid th.stk-loc-col-grup,
.stk-loc-grid td.stk-loc-col-grup {
    text-align: left;
    padding-right: 1.15rem;
    border-right: 1px solid #eceef1;
}
.stk-loc-group-header td {
    background: #f3f4f6;
    color: #4b5563;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0;
    border-bottom: 1px solid #eceef1;
    user-select: none;
}
.stk-loc-group-toggle {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    margin: 0;
    padding: 0.45rem 0.55rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}
.stk-loc-group-toggle:hover,
.stk-loc-group-header:hover td {
    background: #eef0f3;
}
.stk-loc-group-header--open td {
    background: #eceff3;
}
.stk-loc-group-chevron {
    width: 0.8rem;
    font-size: 0.68rem;
    opacity: 0.7;
    text-align: center;
    flex: 0 0 auto;
}
.stk-loc-group-header .fa-folder-open,
.stk-loc-group-header .fa-folder {
    opacity: 0.55;
    width: 1rem;
    text-align: center;
    flex: 0 0 auto;
}
.stk-loc-group-count {
    font-weight: 500;
    color: #9ca3af;
    margin-left: 4px;
}
.reports-table.stk-loc-grid th {
    white-space: nowrap;
}
.reports-table.stk-loc-grid th.stk-loc-num,
.reports-table.stk-loc-grid td.stk-loc-num,
.stk-loc-grid th.stk-loc-num,
.stk-loc-grid td.stk-loc-num {
    text-align: right;
}
.stk-loc-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.stk-loc-grid td.stk-loc-onhand .stk-qty-cell,
.stk-loc-grid td.stk-loc-num .stk-qty-cell {
    width: 100%;
    justify-content: flex-end;
}
.stk-loc-grid th.stk-loc-num:nth-child(2),
.stk-loc-grid td.stk-loc-onhand {
    padding-left: 0.9rem;
}
.stk-loc-grid th.stk-loc-add,
.stk-loc-grid td.stk-loc-add {
    text-align: right;
    vertical-align: middle;
}
.stk-qty-cell--add {
    justify-content: flex-end;
    min-height: 1.9rem;
    width: 100%;
}
.stk-loc-sales-qty {
    font-weight: 650;
}
.stk-loc-actions-cell {
    white-space: nowrap;
    text-align: right;
    width: 1%;
}
.stk-loc-row-actions {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.2rem;
    flex-wrap: nowrap;
}
.stk-loc-cari {
    max-width: 8.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stk-loc-prod {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    max-width: 100%;
}
.stk-loc-prod-name {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stk-loc-prod small {
    color: var(--text-muted, #6b7280);
    font-size: 0.7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stk-loc-row {
    cursor: pointer;
}
.stk-loc-row:hover td {
    background: var(--surface-hover, #f8fafc);
}
.stk-loc-row.active td {
    background: rgba(37, 99, 235, 0.07);
}
.stk-loc-pct--up {
    color: #b45309;
    font-weight: 700;
}
.stk-loc-pct--down {
    color: #15803d;
    font-weight: 700;
}
.stk-loc-icon-btn--go {
    color: var(--primary, #2563eb);
}
.stk-loc-insight {
    position: absolute;
    top: 2.5rem;
    right: 0;
    bottom: 0;
    width: 22rem;
    max-width: 46%;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.55rem;
    background: var(--surface-card, #fff);
    box-shadow: -8px 0 24px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    overflow: auto;
    z-index: 8;
    padding: 0.65rem 0.75rem 0.85rem;
    gap: 0.45rem;
}
.stk-loc-main--insight .stk-loc-stock,
.stk-loc-main--insight .stk-loc-split {
    padding-right: 22.6rem;
}
.stk-loc-insight-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
}
.stk-loc-insight-head strong {
    display: block;
    font-size: 0.88rem;
}
.stk-loc-insight-head small {
    display: block;
    color: var(--text-muted, #6b7280);
    font-size: 0.72rem;
    margin-top: 0.1rem;
}
.stk-loc-insight h4 {
    margin: 0.35rem 0 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted, #6b7280);
}
.stk-loc-insight-places {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.stk-loc-place {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.2rem 0.45rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.35rem;
    font-size: 0.75rem;
}
.stk-loc-place span {
    color: var(--text-muted, #6b7280);
}
.stk-loc-mini {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}
.stk-loc-mini td {
    padding: 0.22rem 0.3rem 0.22rem 0;
    border-bottom: 1px solid var(--border-color, #f3f4f6);
    vertical-align: top;
}
@media (max-width: 1100px) {
    .stk-loc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stk-loc-insight { max-width: 100%; width: 18.5rem; }
    .stk-loc-main--insight .stk-loc-stock,
    .stk-loc-main--insight .stk-loc-split { padding-right: 19.1rem; }
}
.stk-loc-split {
    display: flex;
    min-height: 0;
    flex: 1;
    gap: 0.75rem;
    overflow: hidden;
}
.stk-loc-docs {
    width: 16.5rem;
    flex: 0 0 16.5rem;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.6rem;
    background: var(--surface-card, #fff);
}
.stk-loc-docs-head {
    padding: 0.55rem 0.65rem 0.35rem;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    flex: 0 0 auto;
}
.stk-loc-docs-head strong {
    display: block;
    font-size: 0.8rem;
}
.stk-loc-docs-head small {
    display: block;
    color: var(--text-muted, #6b7280);
    font-size: 0.68rem;
}
.stk-loc-docs .stk-loc-doc-list {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.stk-loc-docs-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.35rem 0.45rem;
    border-top: 1px solid var(--border-color, #e5e7eb);
    flex: 0 0 auto;
    font-size: 0.72rem;
    color: var(--text-muted, #64748b);
}
.stk-loc-doc-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}
.stk-loc-doc-status {
    font-style: normal;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    padding: 0.08rem 0.35rem;
    border-radius: 999px;
}
.stk-loc-doc-status.is-draft { background: #ffedd5; color: #c2410c; }
.stk-loc-doc-status.is-onay { background: #dcfce7; color: #15803d; }
.stk-loc-doc-status.is-iptal { background: #f1f5f9; color: #64748b; }
.stk-loc-form-head {
    flex: 0 0 auto;
    margin: 0 0 0.15rem;
}
.stk-loc-form-head h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 800;
}
.stk-loc-form-head p {
    margin: 0.15rem 0 0;
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
    line-height: 1.35;
}
.stk-loc-field {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 0 1 9.5rem;
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--text-muted, #64748b);
}
.stk-loc-field > span { line-height: 1.2; }
.stk-loc-field .stk-loc-input,
.stk-loc-field select {
    width: 100%;
    font-weight: 600;
    color: var(--text-primary, #0f172a);
}
.stk-loc-doc-list {
    list-style: none;
    margin: 0;
    padding: 0.35rem;
}
.stk-loc-doc-list li {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.45rem 0.5rem;
    border-radius: 0.4rem;
    cursor: pointer;
    font-size: 0.8rem;
}
.stk-loc-doc-list li.active {
    background: rgba(37, 99, 235, 0.08);
}
.stk-loc-doc-list em {
    font-style: normal;
    color: var(--text-muted, #6b7280);
    font-size: 0.72rem;
}
.stk-loc-form {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.55rem;
    background: var(--surface-card, #fff);
    padding: 0.55rem;
}
.stk-loc-form-bar {
    display: flex;
    align-items: flex-end;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.stk-loc-form-bar > .stk-loc-add-all-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    height: 2rem;
    padding: 0 0.65rem;
    font-size: 0.78rem;
    line-height: 1.2;
}
.stk-loc-form-bar > .stk-loc-input,
.stk-loc-form-bar > select {
    width: 9.5rem;
    flex: 0 1 9.5rem;
}
.stk-loc-form-bar .stk-loc-field {
    width: 9.5rem;
    flex: 0 1 9.5rem;
}
.stk-loc-arrow {
    color: var(--text-muted, #9ca3af);
    font-size: 0.7rem;
    flex: 0 0 auto;
}
.stk-loc-add {
    position: relative;
}
.stk-loc-add--grow {
    flex: 0 1 12rem;
    width: 12rem;
    max-width: 13rem;
    min-width: 9rem;
}
.stk-loc-hits {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 20;
}
.stk-loc-hit-name {
    font-weight: 650;
}
.stk-loc-hit-meta {
    font-size: 0.72rem;
    color: var(--text-muted, #6b7280);
}
.stk-loc-hit--oos {
    cursor: not-allowed;
}
.stk-loc-hit--oos:hover {
    background: #fef2f2;
}
.stk-loc-hit-oos {
    font-size: 0.72rem;
    font-weight: 700;
    color: #dc2626;
}
.stk-loc-form-actions .btn.stk-loc-btn-draft {
    background-color: #ea580c !important;
    color: #fff !important;
    border: none;
}
.stk-loc-form-actions .btn.stk-loc-btn-draft:hover:not(:disabled) {
    background-color: #c2410c !important;
}
.stk-loc-form-actions .btn.stk-loc-btn-cancel {
    background-color: var(--danger, #f44336) !important;
    color: #fff !important;
    border: none;
}
.stk-loc-form-actions .btn.stk-loc-btn-cancel:hover:not(:disabled) {
    background-color: #d32f2f !important;
}
.stk-loc-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.iw-loc-select-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.iw-loc-select-row .filter-input {
    flex: 1;
    min-width: 0;
}
.iw-loc-add {
    display: flex;
    gap: 0.35rem;
    margin-top: 0.35rem;
    align-items: center;
}
.reports-inventory-table .row-inventory-diff td {
    background: rgba(217, 119, 6, 0.06);
}
.reports-inventory-table .row-inventory-dirty td {
    background: rgba(37, 99, 235, 0.04);
}
@keyframes row-inventory-flash-anim {
    0%, 100% { background-color: transparent; }
    30%, 70% { background-color: rgba(234, 179, 8, 0.42); }
}
.reports-inventory-table tr.row-inventory-flash td {
    animation: row-inventory-flash-anim 0.55s ease-in-out 3;
}
.reports-inventory-lines-empty {
    padding: 2rem 1rem !important;
}
.reports-inventory-lines-empty-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-muted, #6b7280);
    font-size: 0.9rem;
}
.reports-inventory-lines-empty-inner i {
    font-size: 1.35rem;
    opacity: 0.65;
}
.reports-inventory-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    padding: 0.65rem 0.85rem;
    border-top: 1px solid var(--border-color, #e5e7eb);
    background: var(--surface-hover, #f9fafb);
}
.reports-inventory-footer-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    font-size: 0.85rem;
    color: var(--text-muted, #6b7280);
}
.reports-inventory-footer-stats strong {
    color: inherit;
    font-weight: 700;
}
.reports-inventory-footer-diff {
    color: #d97706;
    font-weight: 600;
}
.reports-inventory-footer-unsaved {
    color: #2563eb;
    font-weight: 600;
}
.reports-inventory-save-all-btn {
    min-height: 2.15rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.loading-state--compact {
    padding: 1rem;
    text-align: center;
}

/* Kasa > Performans */
.perf-loading { padding: 2rem; text-align: center; }

.reports-panel-with-overlay {
    position: relative;
    min-height: 120px;
}

.reports-panel-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 12;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.72);
    border-radius: inherit;
    pointer-events: none;
}

.theme-dark .reports-panel-loading-overlay {
    background: rgba(15, 23, 42, 0.75);
    color: #e2e8f0;
}
.performance-dashboard { padding: 0; }
.perf-dashboard-bottom-spacer {
    display: block;
    width: 100%;
    height: 1rem;
    flex-shrink: 0;
    pointer-events: none;
}
.perf-previous-period-hint { font-size: 0.8rem; color: var(--text-secondary); margin: -0.5rem 0 1rem 0; padding: 0.5rem 0; display: flex; align-items: flex-start; gap: 0.5rem; line-height: 1.4; }
.perf-previous-period-hint i { color: var(--primary); margin-top: 0.15rem; flex-shrink: 0; }
.perf-highlights { margin-bottom: 1rem; }
.perf-highlights-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1rem; }
.perf-highlight-card { padding: 0.6rem 0.75rem; border-radius: 8px; display: flex; flex-direction: column; gap: 0.2rem; background: var(--card-bg); border: 1px solid var(--border-color); border-left-width: 3px; box-shadow: none; }
.perf-highlight-card--green { border-left-color: #2e7d32; }
.perf-highlight-card--green .perf-highlight-icon { color: #2e7d32; }
.perf-highlight-card--green .perf-highlight-amount { color: #2e7d32; }
.perf-highlight-card--red { border-left-color: #c62828; }
.perf-highlight-card--red .perf-highlight-icon { color: #c62828; }
.perf-highlight-card--red .perf-highlight-amount { color: #c62828; }
.perf-highlight-card--blue { border-left-color: #1565c0; }
.perf-highlight-card--blue .perf-highlight-icon { color: #1565c0; }
.perf-highlight-card--blue .perf-highlight-amount { color: #1565c0; }
.perf-highlight-card--purple { border-left-color: #6a1b9a; }
.perf-highlight-card--purple .perf-highlight-icon { color: #6a1b9a; }
.perf-highlight-card--purple .perf-highlight-amount { color: #6a1b9a; }
.perf-highlight-card--amber { border-left-color: #ef6c00; }
.perf-highlight-card--amber .perf-highlight-icon { color: #ef6c00; }
.perf-highlight-card--amber .perf-highlight-amount { color: #ef6c00; }
.perf-highlight-card .perf-highlight-icon { font-size: 1rem; }
.perf-highlight-card .perf-highlight-label { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary); }
.perf-highlight-card .perf-highlight-value { font-size: 0.85rem; font-weight: 600; color: var(--text-primary); }
.perf-highlight-card .perf-highlight-value.perf-highlight-product { font-size: 0.8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.perf-highlight-card .perf-highlight-amount { font-size: 0.95rem; font-weight: 700; }
.perf-curiosity-line { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; background: rgba(255,152,0,0.08); border-radius: 8px; border-left: 3px solid #ff9800; margin-bottom: 0.75rem; font-size: 0.9rem; }
.perf-curiosity-icon { color: #ff9800; flex-shrink: 0; }
.perf-curiosity-text { flex: 1; min-width: 0; color: var(--text-primary); }
.perf-curiosity-detail-btn { flex-shrink: 0; padding: 0.25rem 0.6rem; font-size: 0.8rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--card-bg); color: var(--text-secondary); cursor: pointer; }
.perf-curiosity-detail-btn:hover { color: var(--primary); border-color: var(--primary); }
.perf-fade-enter-active, .perf-fade-leave-active { transition: opacity 0.25s ease; }
.perf-fade-enter-from, .perf-fade-leave-to { opacity: 0; }
.perf-curiosity-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,0.3); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.perf-curiosity-modal { background: var(--card-bg); border-radius: 12px; max-width: 420px; width: 100%; box-shadow: 0 12px 40px rgba(0,0,0,0.2); max-height: 80vh; overflow: hidden; display: flex; flex-direction: column; }
.perf-curiosity-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-color); }
.perf-curiosity-modal-header h3 { margin: 0; font-size: 1rem; display: flex; align-items: center; gap: 0.5rem; }
.perf-curiosity-modal-header h3 i { color: #ff9800; }
.perf-curiosity-modal-close { padding: 0.35rem; border: none; background: transparent; color: var(--text-secondary); cursor: pointer; border-radius: 6px; }
.perf-curiosity-modal-close:hover { color: var(--text-primary); background: rgba(0,0,0,0.06); }
.perf-curiosity-modal-list { margin: 0; padding: 1rem 1.25rem 1.25rem; list-style: none; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.8; overflow-y: auto; }
.perf-curiosity-modal-list li { padding-left: 1.25rem; position: relative; margin-bottom: 0.5rem; }
.perf-curiosity-modal-list li::before { content: '•'; position: absolute; left: 0; color: #ff9800; font-weight: bold; }
@media (max-width: 900px) { .perf-highlights-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .perf-highlights-cards { grid-template-columns: 1fr; } }
.perf-kpi-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }
.perf-kpi-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 0.85rem 1rem; box-shadow: 0 1px 3px rgba(0,0,0,0.06); display: grid; grid-template-rows: auto 1fr 1.2em; gap: 0.15rem; min-height: 5.4rem; }
.perf-kpi-card--tahsilat { border-left: 3px solid var(--success, #2e7d32); }
.perf-kpi-card--kar { border-left: 3px solid var(--success, #2e7d32); }
.perf-kpi-card--kar-loss { border-left-color: var(--danger, #c62828); }
.perf-kpi-card .perf-kpi-meta { display: block; margin-top: 6px; font-size: 0.68rem !important; line-height: 1.4; max-width: 18rem; }
.perf-kpi-label { display: block; font-size: 0.75rem; color: var(--text-secondary); margin-bottom: 0; }
.perf-kpi-value { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); line-height: 1.2; align-self: center; }
.perf-kpi-amount { color: var(--primary, #e0143a); }
.perf-kpi-amount--success { color: var(--success, #2e7d32); }
.perf-kpi-amount.negative { color: var(--danger, #c62828); }
.perf-kpi-change { display: block; font-size: 0.7rem; margin-top: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }
.perf-kpi-change.positive { color: var(--success, #2e7d32); }
.perf-kpi-change.negative { color: var(--danger, #c62828); }
.perf-kpi-sublabel { display: block; font-size: 0.7rem; color: var(--text-muted); margin-top: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }
.perf-kpi-card--6months { border-left: 3px solid #00838f; }
.perf-6months-chart-box { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 1rem; margin-bottom: 1rem; }
.perf-6months-chart-box--last { margin-bottom: 0; }
.perf-chart-wrap--6months { min-height: 220px; padding-bottom: 0.5rem; }
.perf-chart-wrap--6months { height: 260px; }
.perf-extra-stats { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 1rem; margin-bottom: 1rem; }
.perf-extra-stats-title { margin: 0 0 0.75rem 0; font-size: 0.95rem; font-weight: 600; color: var(--text-primary); }
.perf-extra-stats-title i { color: #1976d2; margin-right: 0.35rem; }
.perf-extra-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.perf-extra-stat { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.6rem; background: var(--light-gray, #f5f5f5); border-radius: 6px; }
.perf-extra-stat-label { font-size: 0.72rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.03em; }
.perf-extra-stat-value { font-size: 1.1rem; font-weight: 700; color: var(--text-primary); }
.perf-extra-stat-meta { font-size: 0.7rem; color: var(--text-muted); }
.perf-chart-missing { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 1.5rem; text-align: center; color: var(--text-secondary); }
.perf-chart-missing i { font-size: 2rem; color: #f57c00; margin-bottom: 0.5rem; }
.perf-chart-missing p { margin: 0; font-size: 0.95rem; }
.perf-charts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.perf-chart-box { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 1rem; min-height: 260px; }
.perf-chart-box-wide { grid-column: 1 / -1; min-height: 320px; margin-bottom:1rem; }
.perf-chart-title { margin: 0 0 0.75rem 0; font-size: 0.95rem; font-weight: 600; color: var(--text-primary); }
.perf-chart-wrap { position: relative; height: 220px; }
.perf-chart-wrap canvas { display: block; width: 100% !important; height: 100% !important; }
.perf-chart-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: var(--text-secondary); font-size: 0.9rem; }
.perf-chart-placeholder i { font-size: 1.5rem; margin-bottom: 0.5rem; opacity: 0.6; }
.perf-chart-box-wide .perf-chart-wrap { height: 280px; }
.kitchen-perf-dashboard .perf-chart-wrap--kitchen { height: 220px; }
.kitchen-perf-dashboard .perf-chart-wrap--tall { height: 300px; }
.kitchen-perf-dashboard .perf-chart-wrap--doughnut { height: 220px; max-width: 280px; margin: 0 auto; }
/* Mutfak performansı — öneriler kutusu (sıcak amber / turuncu ipucu alanı; tema ile uyumlu) */
.kitchen-perf-insights.kitchen-perf-insights--hint {
    margin: 1rem 0;
    padding: 12px 14px 14px 16px;
    border-radius: var(--border-radius);
    background: linear-gradient(145deg, rgba(255, 213, 79, 0.28) 0%, rgba(255, 183, 77, 0.2) 42%, rgba(255, 241, 118, 0.18) 100%);
    border: 1px solid rgba(230, 126, 34, 0.42);
    border-left: 4px solid #ff9800;
    box-shadow: 0 2px 10px rgba(255, 152, 0, 0.14);
}
.kitchen-perf-insights-kicker {
    margin: 0 0 10px 0;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #b45309;
    line-height: 1.35;
}
.kitchen-perf-insights-kicker i {
    margin-right: 0.35rem;
    color: #e65100;
    opacity: 0.95;
}
.kitchen-perf-insights-title {
    font-size: 0.95rem;
    margin: 0 0 10px;
    font-weight: 700;
    color: #5d4037;
}
.kitchen-perf-insights-title i {
    margin-right: 0.35rem;
    color: #ef6c00;
}
.kitchen-perf-insights-list {
    margin: 0;
    padding-left: 1.25rem;
    line-height: 1.55;
    font-size: 0.875rem;
    color: var(--text-primary);
}
.kitchen-perf-insights-list li { margin-bottom: 0.45rem; }
.kitchen-perf-insights-list li:last-child { margin-bottom: 0; }
.kitchen-perf-period-label { margin-bottom: 6px; }
.perf-kpi-change-hint { display: block; font-size: 0.72rem; opacity: 0.88; font-weight: 500; margin-top: 2px; }
@media (max-width: 900px) { .perf-charts-grid { grid-template-columns: 1fr; } .perf-kpi-cards { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .perf-kpi-cards { grid-template-columns: 1fr; } }

/* Performans: Kâr / BI tabloları */
.perf-bi-note {
    font-size: 0.78rem;
    color: var(--text-secondary);
    padding: 0.5rem 0.75rem;
    background: rgba(25, 118, 210, 0.06);
    border-radius: 8px;
    margin-bottom: 1rem;
    line-height: 1.45;
}
.perf-bi-note i { color: #1976d2; margin-right: 0.35rem; }
.perf-bi-kpi {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 1rem;
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, rgba(46, 125, 50, 0.08), rgba(25, 118, 210, 0.06));
    border: 1px solid var(--border-color);
    border-radius: 10px;
}
.perf-bi-kpi-label { font-size: 0.85rem; color: var(--text-secondary); }
.perf-bi-kpi-value { font-size: 1.25rem; font-weight: 800; color: #1b5e20; }
.perf-bi-section { margin-bottom: 1.25rem; }
.perf-bi-section--loss .perf-bi-title { color: #b71c1c; }
.perf-bi-title {
    margin: 0 0 0.5rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.perf-bi-table-wrap { overflow-x: auto; border: 1px solid var(--border-color); border-radius: 8px; background: var(--card-bg); }
.perf-bi-table { width: 100%; border-collapse: collapse; font-size: 0.72rem; }
.perf-bi-table th, .perf-bi-table td { padding: 0.45rem 0.55rem; text-align: left; border-bottom: 1px solid var(--border-color); white-space: normal; word-break: break-word; overflow-wrap: anywhere; vertical-align: top; }
.perf-bi-table th { background: var(--secondary, #455a64); color: #fff; font-weight: 600; }
.perf-bi-table tbody tr:hover { background: rgba(0,0,0,0.03); }
.perf-bi-loss { color: #c62828; font-weight: 600; }
.perf-bi-grade {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.7rem;
}
.perf-bi-grade--zarar { background: #ffebee; color: #b71c1c; }
.perf-bi-grade--aplus { background: #e8f5e9; color: #1b5e20; }
.perf-bi-grade--a { background: #f1f8e9; color: #33691e; }
.perf-bi-grade--b { background: #fff8e1; color: #f57f17; }
.perf-bi-grade--c { background: #fce4ec; color: #880e4f; }

.perf-sold-products-panel { margin-top: 0.5rem; }
.perf-sold-products-card {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg);
    padding: 0.85rem 1rem 1rem;
}
.perf-sold-products-search-wrap {
    position: relative;
    margin-bottom: 0.75rem;
}
.perf-sold-products-search-icon {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    font-size: 0.85rem;
    pointer-events: none;
}
.perf-sold-products-search {
    width: 100%;
    padding-left: 2.1rem;
    box-sizing: border-box;
}
.perf-sold-products-table-wrap { max-height: min(52vh, 520px); overflow: auto; }
.perf-sold-grup-cell { color: var(--text-secondary); font-size: 0.72rem; white-space: nowrap; }
.perf-sold-products-tfoot td {
    font-weight: 700;
    background: rgba(0, 0, 0, 0.03);
    border-top: 2px solid var(--border-color);
}

/* Kasa > Ürün Raporu */
.product-sales-analysis {
    --psa-toolbar-height: 40px;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    flex: 1;
    min-height: 0;
}
.product-sales-analysis .filter-input,
.product-sales-analysis input[type="search"] {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 8px);
    font-size: 0.82rem;
    font-family: inherit;
    background-color: var(--card-bg, var(--white, #fff));
    color: var(--text-primary);
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
.product-sales-analysis .filter-input:hover,
.product-sales-analysis input[type="search"]:hover {
    border-color: var(--primary-color, #e0143a);
    box-shadow: 0 2px 4px rgba(255, 23, 68, 0.08);
}
.product-sales-analysis .filter-input:focus,
.product-sales-analysis input[type="search"]:focus {
    outline: none;
    border-color: var(--primary-color, #e0143a);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.12);
}
.psa-split {
    display: grid;
    grid-template-columns: minmax(168px, 220px) minmax(0, 1fr);
    gap: 0.75rem;
    flex: 1;
    min-height: min(68vh, 680px);
}
@media (max-width: 900px) {
    .psa-split { grid-template-columns: 1fr; min-height: min(70vh, 720px); }
    .psa-groups { max-height: 180px; }
    .psa-products-head { flex-direction: column; align-items: stretch; }
    .psa-products-head-actions { flex-direction: column; align-items: stretch; }
    .psa-search-wrap { max-width: none; }
}
.psa-groups {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg);
    overflow: auto;
    display: flex;
    flex-direction: column;
    padding: 0.35rem;
    gap: 0.2rem;
    align-self: stretch;
}
.psa-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    border-radius: 6px;
    padding: 0.55rem 0.6rem;
    font-size: 0.82rem;
    color: var(--text-primary);
    cursor: pointer;
    transition: background 0.15s;
}
.psa-group-item:hover { background: rgba(0, 0, 0, 0.04); }
.psa-group-item.active {
    background: var(--primary-color, #e0143a);
    color: #fff;
    font-weight: 700;
}
.psa-group-item.active .psa-group-badge {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}
.psa-group-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.psa-group-badge {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    color: var(--text-secondary);
}
.psa-products {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg);
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}
.psa-products-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}
.psa-products-title { margin: 0; font-size: 1rem; font-weight: 800; white-space: nowrap; }
.psa-products-head-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.45rem 0.6rem;
    flex: 1 1 280px;
    justify-content: flex-end;
}
.psa-search-wrap {
    position: relative;
    flex: 1 1 200px;
    max-width: 320px;
    min-width: 160px;
    display: flex;
    align-items: stretch;
}
.psa-search-icon {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    font-size: 0.85rem;
    pointer-events: none;
    z-index: 1;
}
.psa-search-input {
    width: 100%;
    height: var(--psa-toolbar-height);
    min-height: var(--psa-toolbar-height);
    padding: 0 0.75rem 0 2.15rem !important;
    line-height: calc(var(--psa-toolbar-height) - 2px);
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid var(--border-color, #e2e8f0) !important;
    background-color: var(--card-bg, #fff);
    border-radius: 8px;
    box-sizing: border-box;
}
.psa-export-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.35rem;
    flex-shrink: 0;
}
.psa-export-actions .psa-action-btn.reports-action-btn {
    height: var(--psa-toolbar-height);
    min-height: var(--psa-toolbar-height);
    padding: 0 0.7rem;
    margin: 0;
    font-size: 0.78rem;
    border-radius: 8px;
    box-shadow: none;
}
.psa-export-actions .psa-action-btn.reports-action-btn:hover {
    transform: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.psa-export-actions .psa-action-btn.reports-action-btn i {
    font-size: 0.85rem;
}
.psa-selection-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    padding: 0.45rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(37, 99, 235, 0.06);
}
.psa-selection-count {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--primary, #2563eb);
    margin-right: 0.25rem;
}
.psa-selection-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border: 1px solid var(--border-color, #d1d5db);
    background: var(--card-bg, #fff);
    color: var(--text-primary, #111);
    border-radius: 7px;
    padding: 0.28rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.2;
}
.psa-selection-btn:hover { background: rgba(0, 0, 0, 0.04); }
.psa-selection-btn.active {
    border-color: var(--primary, #2563eb);
    background: var(--primary, #2563eb);
    color: #fff;
}
.psa-selection-btn--muted { color: var(--text-secondary, #6b7280); }
.psa-col-check {
    width: 42px;
    max-width: 42px;
    text-align: center !important;
    vertical-align: middle;
}
.psa-col-check-cell {
    text-align: center;
    width: 42px;
    max-width: 42px;
    vertical-align: middle;
    overflow: hidden;
}
/* Global iOS checkbox stilini ez — kasiyer izin mini switch */
.psa-row-switch.app-switch.app-switch--mini {
    width: 32px;
    height: 18px;
    margin: 0 auto;
    display: inline-block;
    vertical-align: middle;
}
.psa-row-switch.app-switch input[type="checkbox"] {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.psa-row-switch.app-switch input[type="checkbox"]::before {
    display: none !important;
    content: none !important;
}
.psa-check {
    /* eski sınıf kalırsa yine de mini kalsın */
    width: 32px !important;
    height: 18px !important;
    border-radius: 18px !important;
    cursor: pointer;
}
.psa-table tbody tr.psa-row--selected td {
    background: rgba(37, 99, 235, 0.05);
}
.psa-table-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.35rem 0.75rem 0;
}
.psa-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.84rem;
    table-layout: fixed;
}
.psa-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--card-bg);
    padding: 0.55rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--text-secondary);
    border-bottom: 2px solid var(--border-color);
}
.psa-table tbody td {
    padding: 0.6rem 0.65rem;
    vertical-align: middle;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    line-height: 1.35;
    word-break: break-word;
}
.psa-table tbody tr:hover td { background: rgba(0, 0, 0, 0.02); }
.psa-col-grup { width: 16%; }
.psa-col-urun { width: auto; }
.psa-table--single-group .psa-col-urun { width: 38%; }
.psa-col-adet { width: 10%; }
.psa-col-birim { width: 14%; }
.psa-col-tutar { width: 14%; }
.psa-col-pay { width: 9%; }
.psa-table th.psa-col-adet,
.psa-table td.psa-col-adet-cell {
    text-align: center;
}
.psa-table th.psa-col-money,
.psa-table td.psa-col-money {
    text-align: right;
}
.psa-grup-cell { color: var(--text-secondary); font-size: 0.78rem; }
.psa-urun-cell { font-weight: 600; display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; }
.psa-urun-name { min-width: 0; }
.psa-tutar-cell { font-weight: 700; }
.psa-empty { padding: 2rem 1rem !important; }
.psa-totals-footer {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    padding: 0.55rem 0.85rem 0.6rem;
    min-height: 36px;
    border-top: 1px solid color-mix(in srgb, var(--primary-color, #e0143a) 18%, var(--border-color));
    background: color-mix(in srgb, var(--primary-color, #e0143a) 7%, var(--card-bg));
}
.psa-include-open-accounts {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    user-select: none;
    margin: 0;
}
.psa-include-open-accounts-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-primary);
}
.psa-include-open-accounts-switch {
    flex-shrink: 0;
}
.psa-totals-bar-divider {
    width: 1px;
    align-self: stretch;
    min-height: 1.25rem;
    background: var(--border-color);
    margin: 0 0.15rem;
}
.psa-totals-bar-title {
    font-size: 0.8rem;
    font-weight: 800;
    color: var(--text-primary);
}
.psa-totals-bar-sub {
    font-size: 0.72rem;
    color: var(--text-secondary);
    font-weight: 600;
}
.psa-totals-bar-end {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-left: auto;
    flex-shrink: 0;
}
.psa-totals-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    font-size: 0.78rem;
}
.psa-totals-inline-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary);
}
.psa-totals-inline strong {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--text-primary);
}
.psa-totals-inline-adet {
    text-align: center;
    min-width: 2.5em;
}
.psa-totals-inline--amount strong {
    color: var(--primary-color, #e0143a);
    font-size: 0.9rem;
}
.theme-dark .psa-totals-footer { background: color-mix(in srgb, var(--primary-color, #e0143a) 12%, var(--card-bg)); }
.theme-dark .psa-table tbody tr:hover td { background: rgba(255, 255, 255, 0.04); }
@media (max-width: 520px) {
    .psa-totals-bar-end { margin-left: 0; width: 100%; justify-content: space-between; }
}

.staff-sales-analysis { position: relative; }
.staff-sales-analysis .ssa-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.45rem;
    height: 1.45rem;
    padding: 0 0.2rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    background: var(--border-color, #e2e8f0);
    color: var(--text-secondary, #64748b);
    flex-shrink: 0;
}
.staff-sales-analysis .ssa-rank--1 { background: #f59e0b; color: #fff; }
.staff-sales-analysis .ssa-rank--2 { background: #94a3b8; color: #fff; }
.staff-sales-analysis .ssa-rank--3 { background: #b45309; color: #fff; }
.staff-sales-analysis .psa-groups .psa-group-item { gap: 0.4rem; }
.staff-sales-analysis .ssa-tur {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
}
.staff-sales-analysis .ssa-tur--garson { background: #ecfdf5; color: #047857; }
.staff-sales-analysis .ssa-tur--kasiyer { background: #eff6ff; color: #1d4ed8; }
.staff-sales-analysis .ssa-row { cursor: pointer; }
.staff-sales-analysis .ssa-row--top td { font-weight: 700; }
.staff-sales-analysis .ssa-col-rank,
.staff-sales-analysis .ssa-col-rank-cell { width: 2.4rem; text-align: center; }
.staff-sales-analysis .ssa-col-tur,
.staff-sales-analysis .ssa-col-tur-cell { text-align: left; }
.ssa-hedef-stack {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.55rem 0.7rem 0.6rem;
    border-radius: 12px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--card-bg, #fff);
}
.ssa-hedef-nav {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.15rem;
}
.ssa-hedef-nav-btn {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 8px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ssa-hedef-nav-mid {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    min-width: 0;
    flex: 1;
}
.ssa-hedef-nav-mid strong {
    font-size: 0.92rem;
    text-transform: capitalize;
}
.ssa-hedef-link {
    border: 0;
    background: transparent;
    color: var(--primary-color, #16a34a);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}
.ssa-hedef-link--sales { margin-left: auto; }
.ssa-hedef-extra {
    display: flex;
    justify-content: flex-start;
    padding: 0 0.1rem 0.1rem;
}
.ssa-hedef-row {
    padding: 0.4rem 0.5rem 0.45rem;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    background: #f8fafc;
}
.ssa-hedef-row--lock {
    background: #fffbeb;
    border-color: #fde68a;
}
.ssa-hedef-row--won {
    background: #ecfdf5;
    border-color: #a7f3d0;
}
.ssa-hedef-row-main {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.ssa-hedef-row-copy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    min-width: 0;
    flex: 1;
}
.ssa-hedef-chip {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--text-primary, #0f172a);
}
.ssa-hedef-badge {
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.ssa-hedef-badge--won { color: #047857; }
.ssa-hedef-badge--lock { color: #c2410c; }
.ssa-hedef-badge--off { color: var(--text-secondary, #64748b); font-weight: 600; }
.ssa-hedef-pct-sm {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
    font-weight: 800;
    color: #9a3412;
}
.ssa-hedef-row--won .ssa-hedef-pct-sm { color: #047857; }
.ssa-hedef-bar {
    height: 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.1);
    overflow: hidden;
    margin: 0.85rem 0 0.75rem;
}
.ssa-hedef-bar--sm {
    height: 7px;
    margin: 0.35rem 0 0.35rem;
}
.ssa-hedef-bar--empty { opacity: 0.35; }
.ssa-hedef-bar-fill {
    height: 100%;
    border-radius: inherit;
    width: 0;
    transition: width 0.35s ease;
    background: linear-gradient(90deg, #f59e0b, #ea580c);
}
.ssa-hedef-row--won .ssa-hedef-bar-fill {
    background: linear-gradient(90deg, #34d399, #059669);
}
.ssa-hedef-row-foot {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.ssa-hedef-ciro {
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text-secondary, #64748b);
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ssa-hedef-input {
    width: 7.6rem;
    min-height: 1.85rem;
    padding: 0.15rem 0.4rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.78rem;
    text-align: right;
}
.ssa-hedef-mini-btn {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 8px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--card-bg, #fff);
    color: var(--text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ssa-hedef-mini-btn--save {
    background: var(--primary-color, #16a34a);
    border-color: transparent;
    color: #fff;
}
.ssa-prim-cell--locked { color: #b45309; }
.ssa-prim-cell--won { color: #047857; }
.ssa-prim-lock { margin-right: 0.3rem; font-size: 0.72rem; opacity: 0.85; }
.ssa-prim-strike {
    text-decoration: line-through;
    opacity: 0.55;
    font-weight: 600;
    margin-right: 0.3rem;
}
.ssa-prim-total--locked strong { color: #b45309; }
.ssa-prim-total--won strong { color: #047857; }
@media (max-width: 720px) {
    .ssa-hedef-nav { flex-wrap: wrap; }
    .ssa-hedef-link--sales { margin-left: 0; width: 100%; text-align: right; }
    .ssa-hedef-row-foot { flex-wrap: wrap; }
    .ssa-hedef-ciro { flex: 1 1 100%; }
}
.theme-dark .ssa-hedef-stack {
    background: color-mix(in srgb, var(--card-bg) 92%, #0f172a);
}
.theme-dark .ssa-hedef-row { background: rgba(148, 163, 184, 0.08); }
.theme-dark .ssa-hedef-row--lock { background: rgba(245, 158, 11, 0.12); }
.theme-dark .ssa-hedef-row--won { background: rgba(16, 185, 129, 0.12); }
.theme-dark .ssa-hedef-bar { background: rgba(255, 255, 255, 0.1); }
.ssa-rates-backdrop {
    position: absolute;
    inset: 0;
    z-index: 8;
    background: rgba(15, 23, 42, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.ssa-rates-panel {
    width: min(720px, 100%);
    max-height: min(80vh, 640px);
    overflow: auto;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    padding: 1rem 1.1rem 0.9rem;
}
.ssa-rates-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}
.ssa-rates-head h3 { margin: 0; font-size: 1.05rem; }
.ssa-rates-close {
    border: 0;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 1rem;
}
.ssa-rates-hint { margin: 0 0 0.85rem; font-size: 0.8rem; color: var(--text-secondary); line-height: 1.4; }
.ssa-rates-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.ssa-rates-cols h4 { margin: 0 0 0.5rem; font-size: 0.82rem; }
.ssa-rate-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.5rem 1.1rem;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
}
.ssa-rate-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ssa-rate-input { text-align: right; padding: 0.25rem 0.4rem; min-width: 0; }
.ssa-rate-suffix { color: var(--text-secondary); font-weight: 700; }
.ssa-bulk-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.5rem 1.1rem auto;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.65rem;
    padding: 0.4rem 0.45rem;
    background: var(--light-gray, #f8fafc);
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 700;
}
.ssa-bulk-btn {
    border: 0;
    background: var(--primary-color, #e0143a);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.28rem 0.55rem;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
}
.ssa-product-blocks { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.9rem; }
.ssa-product-block h5 {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0 0 0.35rem;
    font-size: 0.86rem;
    font-weight: 800;
}
.ssa-product-block h5 small { font-weight: 600; color: var(--text-secondary); font-size: 0.75rem; }
.ssa-rates-foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-color);
}
@media (max-width: 720px) {
    .ssa-rates-cols { grid-template-columns: 1fr; }
}

/* ============================================
   Çağrılar Özeti
   ============================================ */
.calls-summary {
    padding: 0.45rem 0.6rem;
    background: var(--light-gray, #f5f5f5);
    color: var(--text-muted);
    border-top: 1px solid var(--border-color);
    margin-top: auto;
    flex-shrink: 0;
}

.theme-dark .calls-summary {
    background: rgba(255, 255, 255, 0.04);
}

.calls-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem 0.5rem;
    align-items: center;
}

.calls-summary-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-width: 0;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.calls-summary-item--total {
    gap: 0.25rem;
}

.calls-summary-label {
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calls-summary-count {
    color: var(--text-primary);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.calls-summary-item .status-dot {
    width: 10px;
    height: 10px;
}

.calls-summary-item .calls-cid-off {
    color: #9e9e9e;
    font-size: 0.85rem;
    line-height: 1;
    width: 12px;
    text-align: center;
    flex-shrink: 0;
}

@media (max-width: 520px) {
    .calls-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .calls-summary-item--total {
        grid-column: 1 / -1;
    }
}

/* ============================================
   Settings Page Styles
   ============================================ */
.settings-page-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.settings-page {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: var(--card-bg);
    overflow: hidden;
}

.settings-main-wrapper {
    display: flex;
    flex: 1;
    width: 100%;
    overflow: hidden;
    min-height: 0;
    align-items: stretch;
}

.settings-sidebar {
    width: 220px;
    flex: 0 0 220px;
    background: linear-gradient(180deg, var(--primary-second) 0%, var(--primary) 100%);
    color: var(--white);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow-y: auto;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.4) rgba(0, 0, 0, 0.22);
    scrollbar-gutter: stable;
}

.settings-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--white);
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.settings-nav-search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.55rem;
    margin-bottom: 0.35rem;
    border-radius: var(--border-radius);
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.settings-nav-search i {
    opacity: 0.75;
    font-size: 0.8rem;
    flex: 0 0 auto;
}

.settings-nav-search-input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--white);
    font-size: 0.82rem;
}

.settings-nav-search-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.settings-nav-empty {
    padding: 0.65rem 0.75rem;
    font-size: 0.8rem;
    opacity: 0.75;
}

.settings-nav-mark {
    background: rgba(255, 176, 32, 0.92);
    color: #1a1200;
    border-radius: 2px;
    padding: 0 0.1em;
    font-weight: 700;
}

.settings-nav-item-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    min-width: 0;
    text-align: left;
}

.settings-nav-detail-hint-wrap,
.settings-nav-detail-hint {
    display: block;
    font-size: 0.72rem;
    line-height: 1.2;
    opacity: 0.9;
    font-weight: 500;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-nav-item.has-detail-hit {
    align-items: flex-start;
}

.settings-nav-item.has-detail-hit > i {
    margin-top: 0.2rem;
}

.settings-content .settings-search-hit {
    outline: 2px solid rgba(255, 152, 0, 0.95);
    outline-offset: 2px;
    border-radius: 6px;
    background: rgba(255, 193, 7, 0.18) !important;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.12);
}

.settings-nav {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.settings-nav-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
    background: transparent;
    border: none;
    border-radius: var(--border-radius);
    color: var(--white);
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    text-align: left;
}

.settings-nav-item:hover {
    background: rgba(255, 255, 255, 0.1);
}

.settings-nav-item.active {
    background: var(--nav-bg);
    color: var(--white);
}

.settings-nav-item i {
    font-size: 1rem;
    width: 20px;
    text-align: center;
}

/* Sidebar altında minimal Version/Build - kırmızı arka plan */
.settings-sidebar-version {
    margin-top: auto;
    padding: 0.5rem 0.75rem;
    background: rgba(0,0,0,0.3);
    border-radius: var(--border-radius);
    font-size: 0.7rem;
    color: var(--white);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.35rem;
    align-items: stretch;
    justify-content: center;
    text-align: center;
}

.settings-sidebar-version.settings-sidebar-version--secret {
    cursor: pointer;
    user-select: none;
}

.settings-sidebar-version.settings-sidebar-version--secret:active {
    opacity: 0.88;
}

.settings-sidebar-version span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.settings-sidebar-version .settings-sidebar-client-key {
    font-size: 0.65rem;
    opacity: 0.95;
}

.settings-check-update-btn {
    margin-top: 0.25rem;
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    white-space: nowrap;
}

/* (legacy lan-sync sınıfları — başka yerde kullanılmıyorsa yedek) */
.lan-sync-diag-body {
    font-size: 0.8rem;
    line-height: 1.45;
}
.lan-sync-diag-row {
    margin-bottom: 0.35rem;
}
.lan-sync-diag-k {
    font-weight: 600;
    margin-right: 0.35rem;
}
.lan-sync-diag-warn {
    color: #b45309;
}
.lan-sync-diag-fw ul,
.lan-sync-diag-if ul,
.lan-sync-diag-hints ul {
    margin: 0.25rem 0 0 1.1rem;
    padding: 0;
}
.lan-sync-diag-hints {
    margin-top: 0.5rem;
    color: var(--text-secondary);
}
.lan-sync-diag-error {
    color: #c00;
    font-size: 0.85rem;
}

.settings-content {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    padding: 1rem;
    overflow-y: auto;
    background: var(--light-gray);
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.settings-section {
    background: var(--card-bg);
    border-radius: var(--border-radius);
    padding: 1rem;
    box-shadow: var(--card-shadow);
    height: 100%;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
    overflow-y: auto;
}

/* Başlık: h3 + aksiyon butonu için space-between.
   Açıklama varsa :has() ile alt alta (sağa itilmesin). */
.settings-section-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--light-gray);
    width: 100%;
    box-sizing: border-box;
}

.settings-header-actions {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.settings-section-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.settings-section-actions,
.settings-section-header-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    margin-left: auto;
}

.settings-section-header-actions .btn,
.settings-section-header-actions .btn-garson-ayar {
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0 1rem;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
}
.settings-section-header-actions .btn-primary {
    border-color: transparent;
}
.settings-section-header-actions .btn-garson-ayar {
    border-color: transparent;
}

/* Açıklama başlık içindeyse alt alta — Genel/Masa düzenine uy */
.settings-section-header:has(> .settings-section-description),
.settings-section-header:has(> .settings-section-sub) {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
}
.settings-section-header:has(> .settings-section-description) > .settings-section-description,
.settings-section-header:has(> .settings-section-sub) > .settings-section-sub {
    margin: 0;
    max-width: none;
    width: 100%;
}
.settings-section-header:has(> .settings-section-description) > .settings-section-header-actions,
.settings-section-header:has(> .settings-section-description) > .settings-header-actions,
.settings-section-header:has(> .settings-section-sub) > .settings-section-header-actions,
.settings-section-header:has(> .settings-section-sub) > .settings-header-actions {
    margin-left: 0;
    align-self: flex-end;
}

/* Garson Tanımları sayfasında QR ile Yeni Garson arasındaki ayar butonu (farklı renk) */
.btn-garson-ayar {
    background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-garson-ayar:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(230, 126, 34, 0.4);
}
.btn-garson-ayar i {
    font-size: 0.9rem;
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
    width: 100%;
    box-sizing: border-box;
}

.settings-section-header--stacked {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
}
.settings-section-header--stacked h3 {
    flex: none;
}
.settings-section-header--stacked .settings-section-description,
.settings-section-header--stacked .settings-section-sub {
    margin: 0;
    max-width: none;
    width: 100%;
}
.settings-section-sub {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.45;
}

/* Entegrasyonlar / yazarkasa: kartlar satırı doldursun */
.settings-grid--entegrasyonlar {
    width: 100%;
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.settings-grid.settings-grid--yazarkasa {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
    gap: 1.25rem;
}

.settings-card.settings-card--yazarkasa {
    min-height: 220px;
    padding: 1rem 1.15rem 1.1rem;
    display: flex;
    flex-direction: column;
    cursor: default;
}

.settings-card.settings-card--yazarkasa .yazarkasa-card-body {
    flex: 1 1 auto;
}

.settings-card.settings-card--yazarkasa .card-info {
    font-size: 0.95rem;
    padding: 0.35rem 0;
}

.yazarkasa-card-header .yazarkasa-card-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.yazarkasa-card-header .yazarkasa-card-title-row h4 {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.35;
    flex: 1;
    min-width: 0;
}

.yazarkasa-default-btn {
    width: 100%;
    margin-top: auto;
    padding: 0.65rem 1rem;
    font-weight: 600;
    font-size: 0.95rem;
}

.yazarkasa-remove-btn {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.55rem 1rem;
    font-size: 0.9rem;
}

.settings-two-column {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 1rem;
    align-items: start;
}

.printer-settings-two-col .printer-section-used,
.printer-settings-two-col .printer-section-system,
.printer-settings-columns .printer-section-used,
.printer-settings-columns .printer-section-system {
    min-width: 0;
}

.settings-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.16);
    color: var(--text-secondary, #475569);
    font-size: 0.75rem;
    font-weight: 700;
}

.settings-status-badge.active {
    background: rgba(46, 125, 50, 0.14);
    color: #2e7d32;
}

.settings-inline-hint {
    margin: -0.15rem 0 0.4rem;
    font-size: 0.78rem;
    color: var(--text-muted, #64748b);
}

.settings-card {
    background: var(--light-gray);
    border: 1px solid var(--medium-gray);
    border-radius: var(--border-radius);
    padding: 0.5rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    position: relative;
}

.settings-card-item {
    background: white;
    border-radius: 4px;
    padding: 0.375rem 0.625rem;
    margin-bottom: 0;
    box-shadow: none;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    border-bottom: 1px solid #e0e0e0;
    min-height: 36px;
    display: flex;
    align-items: center;
}

.settings-card-item:last-child {
    border-bottom: none;
}

.settings-card-item:hover {
    background: #f8f9fa;
}

.settings-card:hover {
    border-color: var(--primary);
    box-shadow: var(--hover-shadow);
}

.settings-card.selected {
    border-color: var(--success);
    background: rgba(76, 175, 80, 0.1);
}

.settings-card-header,
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    width: 100%;
    gap: 0.5rem;
}

.settings-card-header h4,
.card-header h4 {
    margin: 0;
    font-weight: 400;
    color: var(--text-primary);
    font-size: 0.875rem;
    flex: 1;
}

/* Yemek çekleri için özel stil */
.settings-card-item .card-header {
    width: 100%;
    margin: 0;
    padding: 0;
}

.settings-card-item .card-header h4 {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.2;
}

.settings-card-title {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.settings-card-actions,
.card-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.settings-card-actions button,
.card-actions button {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-actions button i,
.card-actions button i {
    font-size: 0.75rem;
}

.settings-card-actions button:hover,
.card-actions button:hover {
    background: var(--light-gray);
    color: var(--primary);
}

/* Arka ekran: müşteri + numaratör yan yana paneller */
.settings-arka-ekran-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    align-items: start;
}
@media (max-width: 1100px) {
    .settings-arka-ekran-split {
        grid-template-columns: 1fr;
    }
}
.arka-ekran-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-radius: 12px;
    padding: 1rem 1rem 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    min-width: 0;
    overflow: hidden;
}
.arka-ekran-panel--customer {
    background: rgba(227, 242, 253, 0.95);
    border-color: rgba(33, 150, 243, 0.35);
}
.arka-ekran-panel--numarator {
    background: rgba(255, 243, 224, 0.95);
    border-color: rgba(255, 152, 0, 0.38);
}
.arka-ekran-panel-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary, #212121);
    margin-bottom: 0;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.arka-ekran-panel-title i {
    opacity: 0.88;
}
.arka-ekran-panel--customer .arka-ekran-panel-title i { color: #1976d2; }
.arka-ekran-panel--numarator .arka-ekran-panel-title i { color: #ef6c00; }
.arka-ekran-panel .settings-card.customer-display-card {
    background: rgba(255, 255, 255, 0.92);
}
.display-screens-grid--numarator .display-screen-card:hover {
    border-color: #ff9800;
    background: rgba(255, 152, 0, 0.06);
}
.display-screen-card--numarator-selected {
    border-color: #ff9800 !important;
    background: rgba(255, 152, 0, 0.12) !important;
    box-shadow: 0 0 0 1px rgba(255, 152, 0, 0.45);
}
.display-screen-card--numarator-selected .display-screen-icon {
    background: rgba(255, 152, 0, 0.2);
}
.display-screen-card--numarator-selected .display-screen-icon i {
    color: #e65100;
}

/* Arka ekran ayarları - ekran kartları ve logo önizleme */
/* Arka ekran: iki sütun (sol: kullan + logo, sağ: monitörler) */
.customer-display-layout {
    display: grid;
    grid-template-columns: minmax(280px, 380px) 1fr;
    gap: 1.5rem;
    align-items: start;
}
.customer-display-left {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.customer-display-right {
    min-width: 0;
}
.customer-display-actions {
    margin-top: 1.25rem;
}
.customer-display-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 120px;
    width: auto;
}
@media (max-width: 768px) {
    .customer-display-layout {
        grid-template-columns: 1fr;
    }
}

.customer-display-card {
    max-width: 100%;
    cursor: default;
    margin-bottom: 0;
    padding: 1rem;
}
.customer-display-left .customer-display-card {
    margin-bottom: 0;
}
.customer-display-card .card-body,
.customer-display-card .card-header + p {
    padding: 0 0.5rem 0.5rem;
}
.display-screens-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
}
.display-screen-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0.75rem;
    border: 2px solid var(--medium-gray, #e0e0e0);
    border-radius: var(--border-radius, 8px);
    background: var(--white, #fff);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.display-screen-card:hover {
    border-color: var(--primary, #ff1744);
    background: rgba(255, 23, 68, 0.04);
}
.display-screen-card--selected {
    border-color: var(--success);
    background: rgba(76, 175, 80, 0.1);
    box-shadow: 0 0 0 1px var(--primary);
}
.display-screen-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--light-gray, #f5f5f5);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}
.display-screen-icon i {
    font-size: 1.5rem;
    color: var(--text-secondary, #666);
}
.display-screen-card--selected .display-screen-icon {
    background: rgba(76, 175, 80, 0.15);
}
.display-screen-card--selected .display-screen-icon i {
    color: var(--success);
}
.display-screen-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}
.display-screen-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-primary);
}
.display-screen-res {
    font-size: 0.75rem;
    color: var(--text-muted);
}
.display-screen-badge {
    font-size: 0.6875rem;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    background: var(--primary);
    color: white;
}
.display-screen-check {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    color: var(--primary);
    font-size: 1rem;
}
.display-screen-card {
    position: relative;
}
.display-screen-card--primary-disabled {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}
.display-screen-card--primary-disabled .display-screen-icon {
    background: rgba(0, 0, 0, 0.06);
}
.display-screen-badge--muted {
    background: var(--text-muted, #999);
    font-size: 0.65rem;
    margin-top: 0.2rem;
}
.customer-display-preview-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
}
.customer-display-preview {
    width: 160px;
    height: 100px;
    border-radius: 8px;
    border: 1px solid var(--medium-gray, #e0e0e0);
    background: var(--light-gray, #f5f5f5);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.customer-display-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.customer-display-preview--empty {
    flex-direction: column;
    color: var(--text-muted);
    font-size: 0.75rem;
    gap: 0.35rem;
}
.customer-display-preview--empty i {
    font-size: 1.5rem;
    opacity: 0.6;
}
.customer-display-preview-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    color: var(--text-muted);
    padding: 0.5rem;
}
.customer-display-preview-placeholder i {
    font-size: 1.25rem;
}
.customer-display-preview-actions {
    display: flex;
    align-items: center;
}
.settings-section-header--compact {
    margin-bottom: 0.75rem;
}
.customer-display-path-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
.customer-display-path-input {
    flex: 1 1 200px;
    min-width: 0;
    border: 1px solid var(--medium-gray, #cfd4dc);
    border-radius: var(--border-radius, 8px);
    padding: 0.5rem 0.65rem;
    font-size: 0.9rem;
    background: var(--input-bg, #fff);
    color: var(--text-primary, #1a1a1a);
}
.customer-display-browse-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    align-self: stretch;
}
.customer-display-color-input {
    width: 56px;
    height: 40px;
    padding: 2px;
    border: 1px solid var(--medium-gray, #cfd4dc);
    border-radius: var(--border-radius, 8px);
    cursor: pointer;
    flex: 0 0 auto;
    background: var(--input-bg, #fff);
}
.customer-display-color-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.customer-display-pair-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    min-width: 0;
}
.customer-display-pair-row > .customer-display-card {
    min-width: 0;
    overflow: hidden;
}
.settings-arka-ekran-split .customer-display-pair-row {
    grid-template-columns: minmax(0, 1fr);
}
.arka-ekran-panel .customer-display-card--bg {
    min-width: 0;
}
.arka-ekran-panel .customer-display-card--bg .card-header {
    min-width: 0;
    padding-bottom: 0.35rem;
}
.arka-ekran-panel .customer-display-card--bg .customer-display-color-row {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}
.arka-ekran-panel .customer-display-card--bg .customer-display-color-input {
    width: 56px;
    flex: 0 0 56px;
    max-width: 56px;
    height: 40px;
    box-sizing: border-box;
}
.arka-ekran-panel .customer-display-card--bg .customer-display-color-text {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    box-sizing: border-box;
}
@media (min-width: 1320px) {
    .customer-display-pair-row {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    }
}
.customer-display-pair-row .customer-display-card .card-header h4 {
    font-size: 0.88rem;
    line-height: 1.3;
    word-break: break-word;
    hyphens: auto;
}
.customer-display-pair-row .customer-display-card--bg {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.customer-display-pair-row .customer-display-preview-wrap {
    display: block;
}
.customer-display-pair-row .customer-display-preview {
    width: 100%;
    max-width: 100%;
    height: 88px;
}
.customer-display-pair-row .customer-display-path-row {
    flex-direction: column;
    align-items: stretch;
}
.customer-display-pair-row .customer-display-browse-btn {
    width: 100%;
    justify-content: center;
}
.customer-display-pair-row .customer-display-color-row {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}
.customer-display-pair-row .customer-display-color-input {
    width: 56px;
    flex: 0 0 56px;
    max-width: 56px;
    height: 40px;
}
.customer-display-pair-row .customer-display-color-text {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    box-sizing: border-box;
}
.customer-display-media-picker {
    width: 100%;
}
.customer-display-media-thumb {
    position: relative;
    width: 100%;
    height: 112px;
    border-radius: 8px;
    border: 1px dashed var(--medium-gray, #cfd4dc);
    background: var(--light-gray, #f5f5f5);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.customer-display-media-thumb:hover {
    border-color: var(--primary, #242424);
    background: rgba(0, 0, 0, 0.03);
}
.customer-display-media-thumb--empty {
    flex-direction: column;
    gap: 0.35rem;
    color: var(--text-muted, #888);
    font-size: 0.8rem;
}
.customer-display-media-thumb--empty i {
    font-size: 1.35rem;
    opacity: 0.65;
}
.customer-display-media-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.customer-display-media-thumb .customer-display-preview-placeholder {
    padding: 0.5rem;
}
.customer-display-media-clear {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding: 0;
    line-height: 1;
}
.customer-display-media-clear:hover {
    background: rgba(198, 40, 40, 0.92);
}
.arka-ekran-panel .customer-display-color-text,
.arka-ekran-panel .customer-display-compact-input {
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--medium-gray, #cfd4dc);
    background: var(--input-bg, #fff);
    color: var(--text-primary, #1a1a1a);
    font-size: 0.95rem;
    padding: 0.5rem 0.65rem;
    min-height: 42px;
    font-variant-numeric: tabular-nums;
    box-shadow: none;
}
.arka-ekran-panel .customer-display-color-text:focus,
.arka-ekran-panel .customer-display-compact-input:focus {
    outline: none;
    border-color: var(--primary, #242424);
    box-shadow: 0 0 0 2px rgba(36, 36, 36, 0.12);
}
.customer-display-color-text {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: auto;
}
.customer-display-compact-input {
    width: 5.5rem;
    max-width: 100%;
}
.arka-ekran-panel .customer-display-ticker-field--compact {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.arka-ekran-panel .customer-display-ticker-field--compact .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #5c6b7a);
    margin-bottom: 0;
}

.customer-display-ticker-block .customer-display-ticker-textarea {
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--medium-gray, #cfd4dc);
    background: var(--input-bg, #fff);
    color: var(--text-primary, #1a1a1a);
    font-size: 0.95rem;
    line-height: 1.45;
    padding: 0.65rem 0.75rem;
    width: 100%;
    resize: vertical;
    min-height: 3rem;
}
.customer-display-ticker-block .customer-display-ticker-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    gap: 1rem 1.5rem;
    align-items: start;
}
@media (max-width: 520px) {
    .customer-display-ticker-block .customer-display-ticker-grid {
        grid-template-columns: 1fr;
    }
}
.customer-display-ticker-block .customer-display-ticker-field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}
.customer-display-ticker-block .customer-display-ticker-field .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary, #5c6b7a);
    margin-bottom: 0;
}
.customer-display-ticker-block .customer-display-ticker-input {
    border-radius: var(--border-radius, 8px);
    border: 1px solid var(--medium-gray, #cfd4dc);
    background: var(--input-bg, #fff);
    color: var(--text-primary, #1a1a1a);
    font-size: 0.95rem;
    padding: 0.5rem 0.65rem;
    min-height: 42px;
    width: 5.5rem;
    max-width: 100%;
    font-variant-numeric: tabular-nums;
}
.customer-display-ticker-block .customer-display-ticker-field--compact {
    gap: 0.45rem;
}
.customer-display-ticker-block .customer-display-ticker-field--compact .form-label {
    margin-bottom: 0;
}
.customer-display-ticker-block--numarator .card-header h4 {
    color: var(--text-primary, inherit);
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.card-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.card-info i {
    color: var(--text-muted);
    width: 16px;
    text-align: center;
}

.settings-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1rem 0;
    width: 100%;
    max-width: 100%;
}

/* Fiş tasarım sekmeleri */
.fis-receipt-logo-bar {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.85rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg, var(--white));
}
.fis-receipt-logo-file {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.fis-receipt-logo-bar--compact {
    align-items: center;
}
.fis-receipt-logo-hide-firma {
    margin: 0.35rem 0 0.25rem;
    max-width: 100%;
}
.fis-receipt-logo-hide-firma .app-switch-label {
    font-size: 0.78rem;
}
.fis-receipt-logo-hide-firma.is-disabled {
    opacity: 0.55;
}
.fis-receipt-logo-preview {
    width: 112px;
    height: 76px;
    flex: 0 0 auto;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    color: inherit;
}
.fis-receipt-logo-preview:disabled {
    cursor: default;
}
.fis-receipt-logo-preview.is-empty {
    color: var(--text-secondary);
    font-size: 0.72rem;
    text-align: center;
    padding: 0.25rem;
}
.fis-receipt-logo-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
}
.fis-receipt-logo-edit-modal {
    width: min(96vw, 720px);
    max-width: 720px;
}
.fis-receipt-logo-edit-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}
.fis-receipt-logo-modal-frame {
    width: 100%;
    min-height: 280px;
    max-height: 58vh;
    padding: 1.25rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background:
        linear-gradient(45deg, #eee 25%, transparent 25%),
        linear-gradient(-45deg, #eee 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #eee 75%),
        linear-gradient(-45deg, transparent 75%, #eee 75%);
    background-size: 16px 16px;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
}
.fis-receipt-logo-modal-frame--edit {
    min-height: 320px;
}
.fis-receipt-logo-modal-frame img {
    max-width: 100%;
    max-height: 52vh;
    width: auto;
    height: auto;
    object-fit: contain;
    image-rendering: pixelated;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.fis-receipt-logo-modal-empty {
    color: var(--text-secondary);
    font-size: 0.85rem;
    text-align: center;
    padding: 1rem;
    max-width: 280px;
    line-height: 1.4;
}
.fis-receipt-logo-modal-note {
    margin: 0;
    font-size: 0.78rem;
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.4;
}
.fis-receipt-logo-edit-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}
.fis-receipt-logo-actions {
    flex: 1 1 auto;
    min-width: 0;
}
.fis-receipt-logo-title {
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--text-primary);
    margin-bottom: 0.15rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.fis-receipt-logo-dirty {
    font-size: 0.7rem;
    font-weight: 600;
    color: #b26a00;
    background: rgba(255, 167, 38, 0.18);
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
}
.fis-receipt-logo-hint {
    margin: 0 0 0.45rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
    line-height: 1.35;
}
.fis-receipt-logo-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.55rem 0.75rem;
    margin-bottom: 0.45rem;
}
.fis-receipt-logo-ctrl {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-secondary);
    min-width: 140px;
    flex: 1 1 160px;
}
.fis-receipt-logo-ctrl input[type="range"] {
    width: 100%;
    accent-color: var(--primary, #ff1744);
}
.fis-receipt-logo-ctrl--num {
    flex: 0 0 72px;
    min-width: 72px;
}
.fis-receipt-logo-ctrl--num input[type="number"] {
    width: 100%;
    padding: 0.25rem 0.35rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.75rem;
    background: var(--white);
    color: var(--text-primary);
}
.fis-receipt-logo-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.fis-tasarim-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}
.fis-tab-btn {
    padding: 0.6rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-primary);
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}
.fis-tab-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.fis-tab-btn.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.fis-preview-hint {
    margin-top: 0.75rem;
    font-size: 0.8rem;
    color: var(--text-muted);
    text-align: center;
}

/* Fiş Ayarları Container - İki Kolonlu Layout */
.fis-ayarlari-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 1rem 0;
}

.fis-ayarlari-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

/* Modal: üretim fişi — font ayarları alt alta */
.fis-ayarlari-inputs--stack {
    grid-template-columns: 1fr;
}

.fis-ayarlari-inputs--stack .fis-ayar-input-group {
    max-width: 300px;
}

/* Modal: hesap/paket — ilişkili alanlar yan yana çift */
.fis-ayarlari-inputs--paired {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    grid-template-columns: unset;
}

.fis-ayarlari-inputs--takeaway {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    grid-template-columns: unset;
}

.takeaway-logo-file-input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.takeaway-label-logo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.35rem;
}

.takeaway-label-logo-threshold-row {
    margin-top: 0.75rem;
}

.takeaway-label-logo-threshold-row label {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
    color: var(--text-secondary, #666);
}

.takeaway-label-logo-range {
    width: 100%;
    max-width: 280px;
}

.takeaway-label-logo-thumb-wrap {
    margin-top: 0.75rem;
    padding: 0.5rem;
    border: 1px dashed var(--border-color, #ccc);
    border-radius: 6px;
    background: #fff;
    display: inline-block;
}

.takeaway-label-logo-thumb {
    display: block;
    max-width: 160px;
    max-height: 80px;
    object-fit: contain;
    image-rendering: pixelated;
}

.takeaway-label-element-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.takeaway-label-element-pill {
    border: 1px solid var(--border-color, #ccc);
    background: var(--bg-secondary, #f5f5f5);
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.78rem;
    cursor: pointer;
}

.takeaway-label-element-pill.active {
    border-color: var(--primary, #242424);
    background: var(--primary, #242424);
    color: #fff;
}

.takeaway-label-preview-stage {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    min-height: 120px;
    padding: 0.25rem 0;
}

.takeaway-label-preview {
    position: relative;
    box-sizing: border-box;
    background: #fff;
    border: 1px dashed #999;
    overflow: hidden;
    flex: 0 0 auto;
    max-width: 100%;
    font-family: Arial, Helvetica, "Segoe UI", Tahoma, sans-serif;
}

.fis-preview-container--takeaway {
    overflow: auto;
}

.takeaway-label-preview .lbl-el {
    position: absolute;
    box-sizing: border-box;
    overflow: hidden;
    line-height: 1.15;
}

.takeaway-label-preview--interactive {
    touch-action: none;
    user-select: none;
    cursor: default;
}

.takeaway-preview-el {
    cursor: grab;
    border: 1px solid transparent;
}

.takeaway-preview-el.is-selected {
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.35);
    z-index: 2;
}

.takeaway-preview-el:active {
    cursor: grabbing;
}

.takeaway-preview-el.lbl-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    display: block;
}

.takeaway-preview-logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 10px;
    color: #999;
    border: 1px dashed #bbb;
}

.takeaway-label-preview .lbl-logo {
    object-fit: contain;
}

.takeaway-label-preview .lbl-text {
    word-wrap: break-word;
    white-space: pre-wrap;
    font-family: Arial, Helvetica, "Segoe UI", Tahoma, sans-serif;
}
.takeaway-label-preview .lbl-order-lines {
    white-space: normal;
}
.takeaway-label-preview .lbl-line {
    margin: 0 0 0.28em 0;
}
.takeaway-label-preview .lbl-line:last-child {
    margin-bottom: 0;
}
.takeaway-label-preview .lbl-pname {
    display: block;
    font-weight: 700;
    line-height: 1.2;
}
.takeaway-label-preview .lbl-pdet {
    display: block;
    font-weight: 400;
    font-size: 0.88em;
    line-height: 1.2;
    margin-top: 0.08em;
    opacity: 0.92;
}

.fis-ayar-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    align-items: end;
}

.fis-ayar-pair--full {
    grid-template-columns: 1fr;
}

.fis-ayar-margin-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
    width: 100%;
}

.fis-ayar-margin-title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-primary);
    margin-bottom: 0.35rem;
}

.fis-ayar-margin-hint {
    font-size: 0.78rem;
    color: var(--text-secondary);
    margin: 0 0 0.75rem;
    line-height: 1.4;
}

.fis-ayar-margin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.fis-ayar-input-group--width {
    grid-column: 1 / -1;
    max-width: 300px;
}

.fis-ayar-input-group {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.fis-ayar-input-group label {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.85rem;
    margin: 0;
}

.fis-ayar-input {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    color: var(--text-primary);
    background: var(--white);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-family: var(--font-family-base);
    width: 100%;
}

.fis-ayar-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}

.fis-ayar-stepper {
    display: flex;
    align-items: stretch;
    gap: 0.35rem;
    width: 100%;
}
.fis-ayar-step-btn {
    flex: 0 0 2.25rem;
    min-width: 2.25rem;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--light-gray, #f0f0f0);
    color: var(--text-primary);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.fis-ayar-step-btn:hover {
    background: var(--white);
    border-color: var(--primary);
    color: var(--primary);
}
.fis-ayar-input--stepper {
    flex: 1;
    min-width: 0;
    width: auto;
    text-align: center;
    -moz-appearance: textfield;
}
.fis-ayar-input--stepper::-webkit-outer-spin-button,
.fis-ayar-input--stepper::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Fiş Önizleme */
.fis-preview-container {
    position: sticky;
    top: 1rem;
    height: fit-content;
    background-color: var(--light-gray);
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
}

.fis-preview-header {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--light-gray);
}

.fis-preview-header h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.fis-preview {
    background: var(--white);
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    max-width: 300px;
    margin: 0 auto;
}

.fis-preview-content {
    font-family: 'Courier New', monospace;
    color: var(--text-primary);
    line-height: 1.4;
    /* font-size inline style ile set edilecek, burada tanımlanmayacak */
}

.fis-logo {
    text-align: center;
    margin-bottom: 0.75rem;
}

.fis-logo img {
    max-width: 150px;
    max-height: 80px;
    object-fit: contain;
}

.fis-header {
    text-align: center;
    margin-bottom: 0.75rem;
}

.fis-firma-adi {
    margin-bottom: 0.5rem;
    text-align: center;
}

.fis-adres,
.fis-telefon {
    margin-bottom: 0.25rem;
    text-align: center;
}

.fis-separator {
    border-top: 2px solid #000;
    margin: 0.75rem 0;
    opacity: 1;
}

.fis-order-info {
    margin-bottom: 0.75rem;
}

.fis-line {
    margin-bottom: 0.25rem;
}

.fis-items {
    margin-bottom: 0.75rem;
}

.fis-item {
    margin-bottom: 0.5rem;
}

.fis-item-name {
    font-weight: 500;
    margin-bottom: 0.15rem;
    /* font-size inline style ile set edilecek - CSS'te tanımlanmayacak */
}

.fis-item-details {
    display: flex;
    justify-content: space-between;
    /* font-size inline style ile set edilecek - CSS'te tanımlanmayacak */
    color: #000;
    font-weight: 600;
    padding-left: 0.5rem;
}

.fis-item-details span {
    /* font-size inline style ile set edilecek - CSS'te tanımlanmayacak */
}

.fis-item-total {
    font-weight: 500;
    color: var(--text-primary);
    /* font-size inline style ile set edilecek - CSS'te tanımlanmayacak */
}

.fis-total {
    margin-top: 0.5rem;
}

.fis-total-line {
    display: flex;
    justify-content: space-between;
    padding-top: 0.5rem;
    border-top: 2px solid var(--text-primary);
    /* font-size parent'tan inherit edilecek */
}

.fis-total-line span {
    /* font-size parent'tan inherit edilecek */
}

.fis-footer-message {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 2px solid #000;
    opacity: 1;
    color: #000;
    /* font-size inline style ile set edilecek */
}

.theme-dark .fis-preview {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .fis-separator,
.theme-dark .fis-footer-message {
    border-color: rgba(255, 255, 255, 0.2);
}

.printer-settings-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

/* Yazıcı ayarları — fiş/etiket tasarım editörü girişi */
.printer-fis-design-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.55rem 0.45rem 0.5rem;
    min-height: 2.75rem;
    border: 1px solid rgba(var(--primary-rgb, 36, 36, 36), 0.35);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 36, 36, 36), 0.12) 0%, rgba(var(--primary-rgb, 36, 36, 36), 0.04) 55%, var(--white, #fff) 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset, 0 2px 10px rgba(15, 23, 42, 0.07);
    color: var(--text-primary, #0f172a);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease, background 0.2s ease;
}
.printer-fis-design-btn:hover {
    border-color: rgba(var(--primary-rgb, 36, 36, 36), 0.55);
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 36, 36, 36), 0.18) 0%, rgba(var(--primary-rgb, 36, 36, 36), 0.07) 50%, var(--white, #fff) 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset, 0 4px 16px rgba(var(--primary-rgb, 36, 36, 36), 0.14);
    transform: translateY(-1px);
}
.printer-fis-design-btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}
.printer-fis-design-btn__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    background: var(--primary, #242424);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb, 36, 36, 36), 0.35);
}
.printer-fis-design-btn__text {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    padding-right: 0.15rem;
}
.printer-fis-design-btn__title {
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.01em;
    color: var(--text-primary, #0f172a);
}
.printer-fis-design-btn__hint {
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-muted, #64748b);
    letter-spacing: 0.02em;
}
.printer-fis-design-btn__arrow {
    flex-shrink: 0;
    font-size: 0.7rem;
    opacity: 0.45;
    margin-left: 0.1rem;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.printer-fis-design-btn:hover .printer-fis-design-btn__arrow {
    opacity: 0.75;
    transform: translateX(2px);
}
.theme-dark .printer-fis-design-btn {
    background: linear-gradient(135deg, rgba(var(--primary-rgb, 96, 165, 250), 0.22) 0%, rgba(15, 23, 42, 0.6) 60%, rgba(30, 41, 59, 0.95) 100%);
    border-color: rgba(var(--primary-rgb, 96, 165, 250), 0.4);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 2px 12px rgba(0, 0, 0, 0.25);
}
.theme-dark .printer-fis-design-btn:hover {
    border-color: rgba(var(--primary-rgb, 96, 165, 250), 0.6);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) inset, 0 4px 18px rgba(var(--primary-rgb, 96, 165, 250), 0.2);
}
.theme-dark .printer-fis-design-btn__title {
    color: var(--text-primary, #f1f5f9);
}
.theme-dark .printer-fis-design-btn__hint {
    color: var(--text-muted, #94a3b8);
}

.fis-ayarlari-modal-overlay {
    z-index: 10070;
}

.fis-ayarlari-modal {
    width: min(98vw, 1000px);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
}

.fis-ayarlari-modal-body {
    overflow: auto;
    flex: 1;
    min-height: 0;
}

.fis-ayar-pref-row {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--bg-secondary, rgba(0, 0, 0, 0.03));
}

.fis-pref-switch-row {
    border-bottom: none;
    padding: 0;
    margin: 0;
}

.fis-pref-switch-row .app-switch-label {
    font-weight: 600;
}

.fis-ayar-pref-row .fis-pref-hint {
    margin: 0.4rem 0 0;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.fis-ayarlari-modal .modal-header .modal-close {
    color: var(--text-secondary);
    background: transparent;
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.15rem;
    border-radius: var(--border-radius);
    flex-shrink: 0;
}

.fis-ayarlari-modal .modal-header .modal-close:hover {
    background: var(--hover-bg, rgba(0, 0, 0, 0.06));
    color: var(--text-primary);
}

.fis-ayarlari-modal .fis-ayarlari-container {
    padding-top: 0;
}

.fis-ayar-pref-row--compact {
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.85rem;
}
.fis-ayarlari-modal .fis-tasarim-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
    padding: 0.4rem;
    background: var(--bg-secondary, rgba(0, 0, 0, 0.03));
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
}
.fis-ayarlari-modal .fis-tab-btn {
    flex: 1 1 auto;
    min-width: 7.2rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0.5rem 0.65rem;
    white-space: nowrap;
}
.takeaway-label-quick-actions {
    flex-wrap: wrap;
}
.fis-logo-tab-editor-frame {
    margin: 0.5rem 0;
    min-height: 120px;
}
.fis-logo-tab-preview-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 1rem;
    background: #fff;
    border: 1px dashed #bbb;
    border-radius: 8px;
}
.fis-logo-tab-preview-frame img {
    max-width: 100%;
    max-height: 220px;
    object-fit: contain;
    image-rendering: pixelated;
}
.fis-logo-tab-preview-empty {
    text-align: center;
    color: #777;
    padding: 2rem 1rem;
    border: 1px dashed #ccc;
    border-radius: 8px;
    background: #fafafa;
}
.fis-preview-container--logo {
    align-items: stretch;
}

@media (max-width: 720px) {
    .fis-ayar-pair {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .fis-ayarlari-inputs--stack .fis-ayar-input-group {
        max-width: none;
    }
}

/* Responsive: Küçük ekranlarda tek kolon */
@media (max-width: 1200px) {
    .fis-ayarlari-container {
        grid-template-columns: 1fr;
    }
    
    .fis-preview-container {
        position: relative;
        top: 0;
    }
    
    .fis-ayarlari-inputs {
        grid-template-columns: 1fr;
    }
}

.settings-form-group {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--light-gray);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.settings-form-group:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.settings-form-group label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.settings-form-group input,
.settings-form-group select,
.settings-form-group textarea,
.settings-form-input {
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    color: var(--text-primary);
    background: var(--white);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-family: var(--font-family-base);
    width: 100%;
}

.settings-form-group input:focus,
.settings-form-group select:focus,
.settings-form-group textarea:focus,
.settings-form-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}

.settings-form-group select {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    padding-right: 2rem;
}

.settings-form-group input[type="color"] {
    height: 40px;
    cursor: pointer;
}

.settings-form-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--light-gray);
}

.settings-table-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.settings-table-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    background: var(--light-gray);
    border-radius: var(--border-radius);
    border: 1px solid transparent;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.settings-table-item:hover {
    border-color: var(--success, #2e7d32);
    background: rgba(46, 125, 50, 0.08);
}

.settings-table-item-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.settings-table-item-number {
    font-weight: 600;
    color: var(--text-primary);
    min-width: 60px;
}

.settings-table-item-capacity {
    color: var(--text-secondary);
    font-size: 0.85rem;
}

.settings-table-item-actions {
    display: flex;
    gap: 0.5rem;
}

.settings-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--text-secondary);
}

.settings-empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.settings-empty-state p {
    margin: 0;
    font-size: 0.95rem;
}

/* Dark Mode Support */
.theme-dark .settings-content {
    background: var(--dark-gray);
}

.theme-dark .settings-section {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .settings-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .settings-card:hover {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.1);
}

.theme-dark .display-screen-card {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
}
.theme-dark .display-screen-card:hover {
    background: rgba(255, 23, 68, 0.12);
    border-color: var(--primary);
}
.theme-dark .display-screen-card--selected {
    background: rgba(76, 175, 80, 0.15);
    border-color: var(--success);
}
.theme-dark .display-screen-icon {
    background: rgba(255, 255, 255, 0.1);
}
.theme-dark .display-screen-card--primary-disabled {
    opacity: 0.6;
}
.theme-dark .customer-display-preview,
.theme-dark .customer-display-preview--empty {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
}

.theme-dark .settings-table-item {
    background: rgba(255, 255, 255, 0.05);
}

.theme-dark .settings-table-item:hover {
    border-color: var(--success, #66bb6a);
    background: rgba(102, 187, 106, 0.14);
}

.theme-dark .settings-form-group input,
.theme-dark .settings-form-group select,
.theme-dark .settings-form-group textarea {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.theme-dark .settings-form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
}

.theme-dark .settings-form-group select option {
    background-color: var(--dark-gray);
    color: var(--white);
}

/* Masa ayarları: başlık sağında tek satır, okunaklı */
.settings-section-header-masa .settings-header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.settings-masa-inline {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.settings-masa-inline-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}
.settings-masa-inline-item.settings-masa-inline-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.settings-masa-inline-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    white-space: nowrap;
    font-weight: 500;
}
.settings-masa-inline-input {
    width: 4rem;
    min-width: 4rem;
    padding: 0.35rem 0.5rem;
    font-size: 0.875rem;
    text-align: center;
}
.settings-masa-inline-save {
    padding: 0.4rem 0.75rem;
    margin-left: 0.25rem;
}
.settings-masa-inline-save span {
    margin-left: 0.35rem;
}

/* Settings Two Column Layout */
.settings-two-column {
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    gap: 1rem;
    margin-top: 0.75rem;
    flex: 1;
    min-height: 0;
}


/* Masa Tanımları: 3 kolon (Masa grupları | Masalar | Masa ayarları) */
.settings-three-column.settings-masa-three-col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-top: 0.75rem;
    flex: 1;
    min-height: 0;
}

.settings-column-groups,
.settings-column-tables,
.settings-column-masa-ayarlari {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow: hidden;
}

.settings-masa-ayarlari-box {
    background: var(--light-gray);
    border-radius: var(--border-radius, 8px);
    padding: 1rem;
    height: fit-content;
}

.settings-masa-ayarlari-title {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--medium-gray);
}

.settings-masa-ayar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    cursor: pointer;
}

.settings-masa-ayar-row--brain {
    align-items: flex-start;
    flex-wrap: wrap;
}

.settings-brain-hint {
    display: block;
    font-size: 0.72rem;
    font-weight: 400;
    color: var(--text-muted, #6c757d);
    margin-top: 0.3rem;
    line-height: 1.35;
    max-width: 22rem;
}

.settings-brain-meta,
.settings-brain-warn {
    font-size: 0.75rem;
    margin: 0 0 0.5rem 0;
    color: var(--text-secondary);
}

.settings-brain-warn {
    color: var(--warning, #b45309);
}

.settings-brain-code {
    font-size: 0.72rem;
    word-break: break-all;
}

.settings-masa-ayar-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    flex: 1;
}

.settings-masa-ayar-input {
    width: 4rem;
    min-width: 4rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.875rem;
    text-align: center;
    border: 1px solid var(--medium-gray, #ced4da);
    border-radius: var(--border-radius, 6px);
    background: var(--white, #fff);
    color: var(--text-primary, #212529);
    box-sizing: border-box;
}
.settings-masa-ayar-input:hover {
    border-color: var(--text-muted, #6c757d);
}
.settings-masa-ayar-input:focus {
    outline: none;
    border-color: var(--primary, #e0143a);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.15);
}
.settings-masa-ayar-input::placeholder {
    color: var(--text-muted, #6c757d);
}

.settings-masa-ayar-hint {
    margin: 0.15rem 0 0.5rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text-secondary, #6c757d);
}

.theme-dark .settings-masa-ayar-input {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}
.theme-dark .settings-masa-ayar-input:hover {
    border-color: rgba(255, 255, 255, 0.35);
}
.theme-dark .settings-masa-ayar-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(255, 23, 68, 0.25);
}

.settings-masa-ayarlari-actions {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--medium-gray);
}

.settings-column-left,
.settings-column-right {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    overflow: hidden;
}

.settings-column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--light-gray);
}

.settings-column-header h4 {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}

.settings-placeholder-title {
    color: var(--text-secondary);
    font-weight: 400;
}

.settings-groups-list .settings-list-item,
.settings-tables-list:not(.settings-tables-list--cards) .settings-list-item {
    cursor: pointer;
    user-select: none;
}

.settings-tables-list--cards .settings-list-item {
    cursor: pointer;
    user-select: auto;
}

.settings-row-drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    min-height: 2.5rem;
    margin-right: 0.35rem;
    flex-shrink: 0;
    color: var(--text-secondary);
    border-radius: 6px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}
.settings-row-drag-handle i {
    pointer-events: none;
}

.settings-list.settings-list--reordering {
    touch-action: none;
    overflow: hidden;
}

html.maestro-pointer-dragging,
body.maestro-pointer-dragging {
    user-select: none !important;
    -webkit-user-select: none !important;
    cursor: grabbing !important;
}
.maestro-pointer-drag-lock {
    touch-action: none !important;
    overflow: hidden !important;
}
.sortable-handle,
.products-admin-drag-handle,
.rcp-line-drag {
    touch-action: none;
    -webkit-user-drag: none;
    cursor: grab;
}

.settings-row-drag-handle:hover {
    color: var(--text-primary);
    background: rgba(0, 0, 0, 0.05);
}

.theme-dark .settings-row-drag-handle:hover {
    background: rgba(255, 255, 255, 0.08);
}

.settings-row-drag-handle:active {
    cursor: grabbing;
}

.settings-groups-list .settings-list-item.dragging,
.settings-tables-list:not(.settings-tables-list--cards) .settings-list-item.dragging {
    opacity: 0.5;
    cursor: grabbing;
}

.settings-groups-list .settings-list-item.drag-over,
.settings-tables-list .settings-list-item.drag-over {
    border-top: 2px solid var(--primary);
}

.settings-groups-list,
.settings-tables-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

/* Masa / otel ayarları üç kolon: scrollbar görününce içerik genişliği kaymasın */
.settings-masa-three-col .settings-groups-list,
.settings-masa-three-col .settings-tables-list {
    scrollbar-gutter: stable;
}

.settings-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem;
    background: var(--card-bg);
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.settings-group-item:hover {
    border-color: var(--success, #2e7d32);
    background: rgba(46, 125, 50, 0.08);
    box-shadow: var(--card-shadow);
}

.settings-group-item.active {
    border-color: var(--success, #2e7d32);
    background: rgba(46, 125, 50, 0.12);
}

.group-item-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.group-color-indicator {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.group-item-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.group-item-name {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.group-item-count {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.group-item-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.settings-group-item.is-inactive {
    opacity: 0.55;
}

.settings-group-item .app-switch--mini {
    margin: 0 0.15rem 0 0;
}

.btn-add {
    background: transparent;
    border: none;
    color: var(--white);
    cursor: pointer;
    padding: 0.3rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    font-size: 0.85rem;
}

.btn-add:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Masa Tanımları: Yeni grup / Yeni masa + butonları belirgin yeşil */
.settings-masa-three-col .settings-column-header .btn-icon.btn-add {
    background: var(--success, #2e7d32);
    color: var(--white);
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    font-weight: 600;
}
.settings-masa-three-col .settings-column-header .btn-icon.btn-add:hover {
    background: #1b5e20;
    color: var(--white);
    transform: scale(1.05);
}

/* Üyelik kart: müşterisi tanımlı satır vurgusu */
.settings-table-item--membership-card.settings-table-item--card-has-customer {
    border-left: 3px solid var(--primary, #1976d2);
    padding-left: calc(0.75rem - 3px);
    background: rgba(25, 118, 210, 0.06);
}
.theme-dark .settings-table-item--membership-card.settings-table-item--card-has-customer {
    background: rgba(100, 181, 246, 0.1);
    border-left-color: #64b5f6;
}
/* Üyelik kart: iki sütun — kartlar geniş */
.settings-two-column.settings-masa-two-col.settings-membership-cards-grid--two {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 2.35fr);
    gap: 1rem;
    margin-top: 0.75rem;
    flex: 1;
    min-height: 0;
}
.settings-column-header.settings-column-header--cards-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
}
.settings-cards-heading-toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    width: 100%;
}
.settings-cards-heading-toolbar-row .settings-card-column-title {
    flex: 0 1 auto;
    margin: 0;
    min-width: 0;
}
.settings-cards-heading-toolbar-row .settings-cards-toolbar {
    flex: 1 1 14rem;
    justify-content: flex-end;
    min-width: min(100%, 17rem);
}
.settings-cards-heading-row .settings-card-column-title,
.settings-cards-heading-row .settings-placeholder-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
}
.settings-cards-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.settings-cards-toolbar-search {
    flex: 1 1 11rem;
    min-width: 9rem;
    max-width: 22rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.875rem;
    border: 1px solid var(--medium-gray, #ced4da);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    box-sizing: border-box;
}
.settings-cards-toolbar-search:focus {
    outline: none;
    border-color: var(--primary, #e0143a);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.15);
}
.theme-dark .settings-cards-toolbar-search {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}
.settings-cards-toolbar-filter {
    flex: 0 1 12rem;
    min-width: 10rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.875rem;
    border: 1px solid var(--medium-gray, #ced4da);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg);
    color: var(--text-primary);
}
.theme-dark .settings-cards-toolbar-filter {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--white);
}
.settings-cards-toolbar-spacer {
    flex: 1 1 auto;
    min-width: 0.5rem;
}
.settings-membership-cards-grid--two .settings-cards-toolbar .btn-icon.btn-add {
    background: var(--success, #2e7d32);
    color: var(--white);
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    font-weight: 600;
    flex-shrink: 0;
}
.settings-membership-cards-grid--two .settings-cards-toolbar .btn-icon.btn-add:hover {
    background: #1b5e20;
    color: var(--white);
    transform: scale(1.05);
}
.settings-table-item .table-item-actions {
    flex-wrap: wrap;
    row-gap: 0.25rem;
}
.settings-card-balance-load-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 8px;
    border: 1px solid rgba(245, 166, 35, 0.55);
    background: linear-gradient(180deg, rgba(255, 193, 7, 0.18) 0%, rgba(255, 152, 0, 0.12) 100%);
    color: var(--text-primary);
    cursor: pointer;
    white-space: nowrap;
}
.settings-card-balance-load-btn:hover {
    border-color: rgba(245, 166, 35, 0.95);
    filter: brightness(1.03);
}
.settings-card-balance-load-btn i {
    color: #e65100;
}
.theme-dark .settings-card-balance-load-btn {
    border-color: rgba(255, 213, 79, 0.45);
    background: rgba(255, 213, 79, 0.12);
}
.theme-dark .settings-card-balance-load-btn i {
    color: #ffd54f;
}

.settings-card-assign-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 8px;
    border: 1px solid rgba(25, 118, 210, 0.45);
    background: linear-gradient(180deg, rgba(33, 150, 243, 0.14) 0%, rgba(25, 118, 210, 0.08) 100%);
    color: var(--text-primary);
    cursor: pointer;
    white-space: nowrap;
}
.settings-card-assign-btn:hover {
    border-color: rgba(25, 118, 210, 0.85);
    filter: brightness(1.03);
}
.settings-card-assign-btn i {
    color: #1565c0;
}
.theme-dark .settings-card-assign-btn {
    border-color: rgba(100, 181, 246, 0.45);
    background: rgba(33, 150, 243, 0.12);
}
.theme-dark .settings-card-assign-btn i {
    color: #90caf9;
}

.settings-card-btn-text {
    display: inline;
}

@media (max-width: 900px) {
    .settings-card-btn-text {
        display: none;
    }
}

.settings-card-row-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
    flex: 1;
    min-width: 0;
    margin-left: 0.5rem;
}

.settings-card-active-switch-wrap {
    margin-left: auto;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

.settings-membership-cards-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    flex-wrap: wrap;
    padding: 0.65rem 0.75rem;
    margin-top: 0.35rem;
    border-top: 1px solid var(--light-gray);
    background: rgba(46, 125, 50, 0.06);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    font-size: 0.9rem;
}

.theme-dark .settings-membership-cards-footer {
    border-top-color: rgba(255, 255, 255, 0.12);
    background: rgba(102, 187, 106, 0.1);
}

.settings-membership-cards-footer-label {
    color: var(--text-secondary);
    font-weight: 500;
}

.settings-membership-cards-footer-value {
    color: var(--success, #2e7d32);
    font-size: 1rem;
}

.modal-container.modal-container--card-customer {
    max-width: 460px;
}

.modal-container.modal-container--card-tx-log {
    max-width: 920px;
}

.settings-card-assign-hint {
    font-size: 0.88rem;
    color: var(--text-secondary);
    margin: 0 0 0.75rem 0;
}

.settings-card-assign-results {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
}

.settings-card-assign-results li {
    border-bottom: 1px solid var(--light-gray);
}

.settings-card-assign-results li:last-child {
    border-bottom: none;
}

.settings-card-assign-pick {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    padding: 0.55rem 0.75rem;
    border: none;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.settings-card-assign-pick:hover {
    background: rgba(46, 125, 50, 0.08);
}
.settings-card-assign-pick.is-selected {
    background: rgba(25, 118, 210, 0.12);
    box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.3);
}
.theme-dark .settings-card-assign-pick.is-selected {
    background: rgba(100, 181, 246, 0.2);
    box-shadow: inset 0 0 0 1px rgba(100, 181, 246, 0.45);
}

.settings-card-assign-name {
    font-weight: 600;
    color: var(--text-primary);
}

.settings-card-assign-meta {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.settings-card-assign-empty,
.settings-card-assign-loading {
    padding: 0.75rem;
    text-align: center;
    color: var(--text-secondary);
}

.settings-card-assign-clear {
    margin-top: 0.75rem;
}

.settings-card-tx-sub {
    margin: 0 0 0.65rem 0;
    font-weight: 600;
}

.settings-card-tx-table-wrap {
    overflow-x: auto;
}

.settings-card-tx-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.settings-card-tx-table th,
.settings-card-tx-table td {
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid var(--light-gray);
    text-align: left;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.settings-card-tx-note {
    max-width: 180px;
    word-break: break-word;
}

/* Kart okutma SweetAlert: Font Awesome olmadan dönen yükleme göstergesi */
.maestro-card-scan-spinner {
    display: inline-block;
    width: 1.35rem;
    height: 1.35rem;
    border: 2px solid rgba(128, 128, 128, 0.35);
    border-top-color: var(--primary-color, #2563eb);
    border-radius: 50%;
    animation: maestro-card-spin 0.75s linear infinite;
    vertical-align: middle;
}
.maestro-card-scan-spinner--lg {
    width: 2rem;
    height: 2rem;
    border-width: 3px;
}
@keyframes maestro-card-spin {
    to { transform: rotate(360deg); }
}

.settings-file-picker-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.settings-file-picker-filename {
    flex: 1;
    min-width: 0;
    font-size: 0.82rem;
    color: var(--text-secondary);
    padding: 0.45rem 0.65rem;
    background: var(--light-gray);
    border-radius: 6px;
    border: 1px solid var(--medium-gray);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.theme-dark .settings-file-picker-filename {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
}
.settings-photo-preview-wrap {
    margin-top: 0.5rem;
}
.settings-photo-preview-thumb {
    display: block;
    max-height: 120px;
    max-width: 100%;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}
.modal-container.modal-container--scan-card {
    max-width: 420px;
}
.settings-scan-card-help {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin: 0 0 0.75rem 0;
    line-height: 1.45;
}
.settings-card-scan-preview {
    margin-top: 0.5rem;
    padding: 0.6rem 0.75rem;
    background: var(--light-gray);
    border-radius: 8px;
    font-size: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
}
.theme-dark .settings-card-scan-preview {
    background: rgba(255, 255, 255, 0.06);
}
.settings-card-scan-preview strong {
    color: var(--primary, #e0143a);
}
.card-uid-scan-input {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: 0.02em;
}

/* Otomatik Masa Oluştur butonu: turuncu ton (yeşilden ayrı) */
.btn-auto-masa {
    background: linear-gradient(135deg, #e65100 0%, #ef6c00 50%, #ff9800 100%) !important;
    color: var(--white, #fff) !important;
    border: none !important;
    font-weight: 600;
}
.btn-auto-masa:hover:not(:disabled) {
    background: linear-gradient(135deg, #bf360c 0%, #e65100 100%) !important;
    color: var(--white, #fff) !important;
    filter: brightness(1.05);
}

.settings-table-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem;
    background: var(--card-bg);
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.settings-table-item:hover {
    border-color: var(--success, #2e7d32);
    background: rgba(46, 125, 50, 0.06);
    box-shadow: var(--card-shadow);
}

.table-item-content {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex: 1;
}

.table-item-number {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.85rem;
    min-width: 16px;
}

.table-item-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.table-item-name {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.table-item-capacity {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.settings-table-item--membership-card .table-item-content {
    flex: 1;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
}
.settings-table-item--membership-card .table-item-info {
    flex: 1;
    min-width: 0;
}
.settings-table-item--membership-card.settings-table-item--card-has-customer .table-item-name {
    color: var(--primary, #1565c0);
}
.theme-dark .settings-table-item--membership-card.settings-table-item--card-has-customer .table-item-name {
    color: #90caf9;
}
.settings-card-balance-cell {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
    min-width: 5.5rem;
}
.settings-card-balance--positive {
    color: var(--success, #2e7d32);
}
.settings-card-balance--negative {
    color: var(--danger, #c62828);
}
.settings-card-balance--zero {
    color: var(--text-secondary);
}

.table-item-actions {
    display: flex;
    gap: 0.25rem;
}

.btn-icon {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.4rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-icon:hover {
    background: var(--light-gray);
    color: var(--primary);
}

.btn-icon.btn-edit:hover {
    background: rgba(33, 150, 243, 0.1);
    color: #2196F3;
}

.btn-icon.btn-delete:hover {
    background: rgba(244, 67, 54, 0.1);
    color: #F44336;
}

.settings-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    gap: 1rem;
    color: var(--text-secondary);
}

.settings-loading i {
    font-size: 2rem;
}

.settings-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    text-align: center;
    color: var(--text-secondary);
}

.settings-empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.settings-empty-state p {
    margin: 0 0 1rem 0;
    font-size: 0.95rem;
}

/* Button Styles for Settings Page */
.btn {
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    border: none;
    font-size: 0.875rem;
    font-family: var(--font-family-base);
}

.btn-sm {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--white);
}

.btn-primary:hover:not(:disabled) {
    background-color: #e0143a;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.btn-primary i {
    color: var(--white) !important;
}

.btn-secondary {
    background-color: var(--light-gray);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.btn-secondary:hover:not(:disabled) {
    background-color: #e0e0e0;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Dark Mode Button Support */
.theme-dark .btn-secondary {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.2);
}

.theme-dark .btn-secondary:hover:not(:disabled) {
    background-color: rgba(255, 255, 255, 0.15);
}

/* List Item Styles */
.list-item-name {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9rem;
    flex: 1;
}

.list-item-info {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-right: 0.5rem;
}

.list-item-actions {
    display: flex;
    gap: 0.25rem;
}

/* Card Styles */
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.card-header h4 {
    margin: 0;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.card-actions {
    display: flex;
    gap: 0.25rem;
}

.card-actions button {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.card-actions button:hover {
    background: var(--light-gray);
    color: var(--primary);
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.card-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.card-info i {
    color: var(--text-muted);
    width: 16px;
    text-align: center;
}

/* Permissions Grid */
.permissions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    max-height: 500px;
    overflow-y: auto;
    padding: 0.5rem;
}

.permission-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem;
    background: var(--light-gray);
    border-radius: var(--border-radius);
    border: 1px solid transparent;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.permission-item:hover {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.05);
}

.permission-item label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-weight: 500;
    color: var(--text-primary);
}

.permission-item label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

.permission-item small {
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin-left: 1.5rem;
}

/* Kasiyer listesi: yönetici tacı */
.settings-cashier-card-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin: 0;
    font-size: 1rem;
}

.settings-cashier-crown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #e6b800;
    font-size: 0.88rem;
    line-height: 1;
    filter: drop-shadow(0 0 2px rgba(230, 184, 0, 0.55));
    flex-shrink: 0;
}

.settings-cashier-crown i {
    color: inherit;
}

.settings-cashier-card-name {
    min-width: 0;
    word-break: break-word;
}

.settings-cashier-card-inactive-badge {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    background: rgba(198, 40, 40, 0.14);
    color: #b71c1c;
    border: 1px solid rgba(198, 40, 40, 0.35);
}

.settings-cashier-card-default-badge {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    background: rgba(25, 118, 210, 0.12);
    color: #1565c0;
    border: 1px solid rgba(25, 118, 210, 0.35);
}

.theme-dark .settings-cashier-card-default-badge {
    background: rgba(100, 181, 246, 0.16);
    color: #90caf9;
    border-color: rgba(100, 181, 246, 0.4);
}

.theme-dark .settings-cashier-crown {
    color: #f5d547;
    filter: drop-shadow(0 0 3px rgba(245, 213, 71, 0.4));
}

/* Kasiyer modalı: iki sütun (bilgi | yetkiler), sağda iç scroll */
.modal-container.modal-large.cashier-modal-v2 {
    max-width: min(1100px, 96vw);
    width: 96%;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    max-height: 85vh;
    min-height: 0;
}

.cashier-modal-v2 .modal-header,
.cashier-modal-v2 .modal-footer {
    flex-shrink: 0;
}

.cashier-modal-v2 .modal-header.modal-header--brand {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.cashier-modal-v2 .modal-footer {
    margin-top: 0;
}

.cashier-modal-v2 .modal-body.cashier-modal-v2-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
}

.cashier-modal-v2-sidebar {
    background: var(--light-gray);
    border-right: 1px solid rgba(0, 0, 0, 0.08);
    padding: 0.85rem 1rem;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.cashier-modal-v2-identity-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cashier-pattern-pad {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    max-width: 220px;
    margin: 0.5rem auto;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
.cashier-pattern-pad--modal {
    max-width: 240px;
}
.cashier-pattern-modal-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}
.cashier-pattern-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 0;
    width: 200px;
    aspect-ratio: 1;
}
.cashier-pattern-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: visible;
}
.cashier-pattern-line {
    stroke: var(--primary, #2563eb);
    stroke-width: 2.6;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 3px rgba(37, 99, 235, 0.35));
}
.cashier-pattern-line--cursor {
    stroke: rgba(37, 99, 235, 0.45);
    stroke-width: 1.8;
    filter: none;
}
.cashier-pattern-dot {
    position: relative;
    z-index: 2;
    width: 38%;
    aspect-ratio: 1;
    height: auto;
    place-self: center;
    border-radius: 50%;
    border: 2px solid rgba(15, 23, 42, 0.25);
    background: rgba(15, 23, 42, 0.06);
    cursor: pointer;
    padding: 0;
    pointer-events: none;
    box-sizing: border-box;
    transition: transform 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}
.cashier-pattern-dot.active {
    background: var(--primary, #2563eb);
    border-color: transparent;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.22);
    transform: scale(1.08);
}
.cashier-pattern-actions {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.cashier-yonetici-switch-row.app-switch-row {
    align-items: flex-start;
}

.cashier-yonetici-switch-labels.app-switch-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    line-height: 1.25;
    padding-right: 0.35rem;
    flex: 1;
    min-width: 0;
}

.cashier-yonetici-title {
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-primary);
}

.cashier-yonetici-sub {
    font-size: 0.68rem;
    font-weight: 400;
    color: var(--text-secondary);
    line-height: 1.3;
}

.cashier-modal-v2-perms {
    padding: 0.75rem 0.9rem 0.85rem;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 820px) {
    .cashier-modal-v2 .modal-body.cashier-modal-v2-body {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 50vh);
        max-height: none;
        overflow: visible;
    }
    .cashier-modal-v2-sidebar {
        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        overflow-y: visible;
        min-height: auto;
    }
    .cashier-modal-v2-perms {
        min-height: min(50vh, 420px);
    }
}

/* Kasiyer modalı: sıkı izin ızgarası (tek ekranda daha çok satır) */
.modal-container.modal-large.cashier-permissions-modal {
    max-width: min(1080px, 96vw);
    width: 96%;
}

.cashier-permissions-modal .modal-body.cashier-permissions-modal-body {
    max-height: min(82vh, 880px);
    overflow-y: auto;
    padding-top: 0.5rem;
}

.cashier-permission-sections--compact {
    margin-top: 0.35rem;
}

.cashier-perm-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.cashier-perm-toolbar-text {
    flex: 1 1 12rem;
    min-width: 0;
}

.cashier-perm-toolbar .cashier-perm-main-title {
    margin: 0 0 0.12rem 0;
    font-size: 0.92rem;
    font-weight: 600;
}

.cashier-perm-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.cashier-modal-v2 .cashier-perm-search-input.form-control,
.cashier-modal-v2 input.cashier-perm-search-input {
    display: block;
    width: 11rem;
    max-width: 42vw;
    min-height: 2.25rem;
    font-size: 0.8rem;
    line-height: 1.35;
    padding: 0.35rem 0.6rem;
    color: var(--text-primary);
    background-color: var(--white, #fff);
    background-clip: padding-box;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius);
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cashier-modal-v2 .cashier-perm-search-input:focus {
    outline: 0;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(46, 125, 50, 0.15);
}

.theme-dark .cashier-modal-v2 .cashier-perm-search-input.form-control,
.theme-dark .cashier-modal-v2 input.cashier-perm-search-input {
    background-color: var(--card-bg, #1e1e1e);
    color: var(--text-primary);
    border-color: rgba(255, 255, 255, 0.12);
}

.cashier-perm-quick-wrap {
    position: relative;
}

.cashier-perm-quick-dropdown.kasa-quick-filter-dropdown {
    right: 0;
    left: auto;
    min-width: 11.5rem;
    z-index: 50;
}

.cashier-perm-empty {
    font-size: 0.74rem;
    color: var(--text-secondary);
    margin: 0 0 0.45rem;
}

.settings-cashier-card-clickable {
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.settings-cashier-card-clickable:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.settings-cashier-card-clickable:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.settings-cashier-last-login {
    font-size: 0.72rem;
    color: var(--text-secondary);
    align-items: center;
    gap: 0.35rem;
}

.settings-patron-user-quota {
    font-size: 0.82rem;
    color: var(--text-secondary);
    margin-right: 0.6rem;
    align-self: center;
}

.settings-patron-user-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.85rem;
}

.settings-patron-user-card {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 0.8rem;
    border-radius: 12px;
    background: var(--card-bg, var(--surface, #fff));
    border: 1px solid rgba(46, 125, 50, 0.28);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
    position: relative;
    overflow: hidden;
}

.settings-patron-user-card.is-active {
    border-color: #2e7d32;
    background: linear-gradient(180deg, rgba(46, 125, 50, 0.08), var(--card-bg, var(--surface, #fff)) 42%);
}

.settings-patron-user-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #2e7d32;
}

.theme-dark .settings-patron-user-card {
    border-color: rgba(129, 199, 132, 0.35);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}

.theme-dark .settings-patron-user-card.is-active {
    border-color: #81c784;
    background: linear-gradient(180deg, rgba(129, 199, 132, 0.16), var(--card-bg, #1e1e1e) 48%);
}

.theme-dark .settings-patron-user-card::before {
    background: #81c784;
}

.settings-patron-user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    color: #fff;
    background: linear-gradient(145deg, #43a047, #1b5e20);
    border: 1px solid rgba(27, 94, 32, 0.35);
}

.theme-dark .settings-patron-user-avatar {
    background: linear-gradient(145deg, #66bb6a, #2e7d32);
    border-color: rgba(129, 199, 132, 0.45);
}

.settings-patron-user-body {
    min-width: 0;
    flex: 1;
}

.settings-patron-user-name {
    font-weight: 650;
    font-size: 0.95rem;
    line-height: 1.2;
}

.settings-patron-user-handle {
    color: var(--text-secondary);
    font-size: 0.8rem;
    margin-top: 0.12rem;
}

.settings-patron-user-meta {
    margin-top: 0.28rem;
    font-size: 0.72rem;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.settings-patron-user-actions {
    display: flex;
    flex-direction: row;
    gap: 0.28rem;
    flex-shrink: 0;
}

.settings-patron-user-btn {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.05);
    color: var(--text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.settings-patron-user-btn:hover {
    background: var(--primary);
    color: #fff;
    transform: translateY(-1px);
}

.settings-patron-user-btn.is-danger:hover {
    background: #c62828;
    color: #fff;
}

.theme-dark .settings-patron-user-btn {
    background: rgba(255, 255, 255, 0.08);
}

.settings-patron-suggest {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.settings-patron-suggest-chip {
    border: 1px solid rgba(46, 125, 50, 0.28);
    background: rgba(46, 125, 50, 0.12);
    color: #1b5e20;
    border-radius: 999px;
    padding: 0.2rem 0.65rem;
    font-size: 0.78rem;
    cursor: pointer;
}

.settings-patron-suggest-chip:hover {
    background: #2e7d32;
    color: #fff;
    border-color: #2e7d32;
}

.theme-dark .settings-patron-suggest-chip {
    background: rgba(129, 199, 132, 0.18);
    color: #c8e6c9;
    border-color: rgba(129, 199, 132, 0.4);
}

.settings-patron-users-hint {
    margin: 0.65rem 0 1.45rem !important;
    max-width: 52rem;
    line-height: 1.45;
}

.settings-patron-taken {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0.7rem 0 0.15rem;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    border: 1px solid #e57373;
    background: #fdecea;
    color: #b71c1c;
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.4;
}
.settings-patron-taken i {
    margin-top: 0.12rem;
    flex-shrink: 0;
}

.theme-dark .settings-patron-taken {
    background: rgba(198, 40, 40, 0.22);
    color: #ffcdd2;
    border-color: rgba(239, 154, 154, 0.45);
}

.settings-patron-pwd-hint {
    margin: 0.45rem 0 0;
    font-size: 0.82rem;
    font-weight: 600;
}
.settings-patron-pwd-hint.is-ok { color: #2e7d32; }
.settings-patron-pwd-hint.is-err { color: #c62828; }
.settings-patron-pwd-hint.is-warn { color: #ef6c00; }
.theme-dark .settings-patron-pwd-hint.is-ok { color: #81c784; }
.theme-dark .settings-patron-pwd-hint.is-err { color: #ef9a9a; }

.settings-cashier-last-login .fa-lock {
    opacity: 0.85;
    font-size: 0.75rem;
}

.cashier-modal-delete-block {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cashier-delete-user-btn {
    font-size: 0.78rem;
    padding: 0.45rem 0.65rem;
}

.cashier-modal-v2 .cashier-delete-user-btn.btn-danger {
    background-color: #c62828;
    border-color: #b71c1c;
    color: #fff;
}

.cashier-modal-v2 .cashier-delete-user-btn.btn-danger:hover:not(:disabled) {
    background-color: #b71c1c;
    border-color: #a31515;
    color: #fff;
}

.cashier-modal-v2 .cashier-delete-user-btn.btn-danger:disabled {
    opacity: 0.55;
}

.cashier-pasif-btn,
.cashier-aktif-btn {
    font-size: 0.78rem;
    padding: 0.45rem 0.65rem;
}

.cashier-modal-delete-block .cashier-pasif-btn {
    margin-bottom: 0.45rem;
}

.cashier-delete-hint {
    margin: 0.4rem 0 0;
    font-size: 0.65rem;
    color: var(--text-secondary);
    line-height: 1.3;
}

.cashier-perm-hint {
    margin: 0 0 0.35rem 0;
    font-size: 0.68rem;
    color: var(--text-secondary);
    line-height: 1.25;
}

/* İki sütun: kartlar yüksekliğe göre dengelenir (break-inside: avoid) */
.cashier-perm-categories-grid {
    column-count: 2;
    column-gap: 0.45rem;
    column-fill: balance;
}

@media (max-width: 640px) {
    .cashier-perm-categories-grid {
        column-count: 1;
    }
}

.cashier-permission-sections--compact .cashier-perm-category {
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin-bottom: 0.45rem;
    padding: 0.35rem 0.45rem;
    background: var(--light-gray);
    border-radius: calc(var(--border-radius) - 2px);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.cashier-permission-sections--compact .cashier-perm-category-title {
    margin: 0 0 0.3rem 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--text-primary);
    padding-bottom: 0.2rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    line-height: 1.2;
}

.cashier-permission-sections--compact .cashier-perm-rows {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.12rem 0.3rem;
    max-height: none;
    overflow: visible;
    padding-right: 0;
}

@media (min-width: 900px) {
    .cashier-permission-sections--compact .cashier-perm-rows {
        grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
    }
}

.cashier-permission-sections--compact .cashier-perm-row.app-switch-row {
    align-items: center;
    padding: 0.18rem 0.2rem;
    margin: 0;
    border-bottom: none;
    border-radius: 4px;
    gap: 6px;
}

.cashier-permission-sections--compact .cashier-perm-row.app-switch-row:hover {
    background: rgba(255, 23, 68, 0.05);
}

.cashier-permission-sections--compact .cashier-perm-label.app-switch-label {
    flex: 1;
    min-width: 0;
    font-size: 0.68rem;
    line-height: 1.2;
}

.cashier-permission-sections--compact .cashier-perm-name {
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.theme-dark .cashier-permission-sections--compact .cashier-perm-category {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

.theme-dark .cashier-permission-sections--compact .cashier-perm-category-title {
    color: var(--white);
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

.theme-dark .cashier-perm-hint {
    color: rgba(255, 255, 255, 0.55);
}

/* Dark Mode Support for Card and List Items */
.theme-dark .card-content,
.theme-dark .card-info {
    color: var(--white);
}

.theme-dark .list-item-name,
.theme-dark .list-item-info {
    color: var(--white);
}

.theme-dark .permission-item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .permission-item:hover {
    background: rgba(255, 23, 68, 0.1);
    border-color: var(--primary);
}

.theme-dark .permission-item label {
    color: var(--white);
}

.theme-dark .permission-item small {
    color: rgba(255, 255, 255, 0.7);
}

/* Dark Mode Support for New Classes */
.theme-dark .settings-group-item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .settings-group-item:hover {
    background: rgba(46, 125, 50, 0.15);
    border-color: rgba(46, 125, 50, 0.5);
}
.theme-dark .settings-group-item.active {
    background: rgba(46, 125, 50, 0.2);
    border-color: var(--success, #4caf50);
}

.theme-dark .settings-table-item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .btn-icon:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* List Item Styles */
.list-item-name {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9rem;
    flex: 1;
}

.list-item-info {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-right: 0.5rem;
}

.list-item-actions {
    display: flex;
    gap: 0.25rem;
}

/* Card Styles */
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.card-header h4 {
    margin: 0;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.card-actions {
    display: flex;
    gap: 0.25rem;
}

.card-actions button {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.card-actions button:hover {
    background: var(--light-gray);
    color: var(--primary);
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.card-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.card-info i {
    color: var(--text-muted);
    width: 16px;
    text-align: center;
}

/* Dark Mode Support for Card and List Items */
.theme-dark .card-content,
.theme-dark .card-info {
    color: var(--white);
}

.theme-dark .list-item-name,
.theme-dark .list-item-info {
    color: var(--white);
}

/* Color Picker Wrapper */
.color-picker-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.btn-reset-color {
    padding: 0.4rem 0.6rem;
    font-size: 0.75rem;
    background-color: var(--light-gray);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.btn-reset-color:hover {
    background-color: var(--border-color);
}

.color-input {
    width: 60px;
    height: 40px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    cursor: pointer;
    padding: 0;
}

.color-preview {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    flex-shrink: 0;
}

.color-value {
    font-family: monospace;
    font-size: 0.85rem;
    color: var(--text-secondary);
    user-select: all;
}

.theme-dark .color-value {
    color: var(--text-primary);
}

/* Test Button */
.btn-test {
    background-color: #2196F3;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 0.85rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-test:hover:not(:disabled) {
    background-color: #1976D2;
}

.btn-test:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Ping Test Modal */
.ping-test-loading {
    text-align: center;
    padding: 2rem;
}

.ping-test-loading i {
    font-size: 2rem;
    color: var(--primary);
    margin-bottom: 1rem;
}

.ping-test-result {
    text-align: center;
    padding: 1.5rem;
    border-radius: var(--border-radius);
}

.ping-test-result.success {
    background-color: rgba(76, 175, 80, 0.1);
    border: 2px solid #4CAF50;
}

.ping-test-result.error {
    background-color: rgba(244, 67, 54, 0.1);
    border: 2px solid #F44336;
}

.ping-test-result i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.ping-test-result.success i {
    color: #4CAF50;
}

.ping-test-result.error i {
    color: #F44336;
}

.ping-test-result h4 {
    margin: 0.5rem 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.ping-test-result p {
    margin: 0.5rem 0;
    color: var(--text-secondary);
}

.ping-time {
    font-weight: 600;
    color: var(--text-primary) !important;
}

/* Printer Test Button on Card */
.btn-test-printer {
    color: #2196F3 !important;
}

.btn-test-printer:hover:not(:disabled) {
    background-color: rgba(33, 150, 243, 0.1) !important;
    color: #1976D2 !important;
}

.btn-test-printer:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* Inline Ping Results */
.ping-results-inline {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-color);
}

.ping-results-header {
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--text-secondary);
}

.ping-results-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ping-result-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    background-color: var(--light-gray);
}

.ping-result-item.success {
    background-color: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.ping-result-item.error {
    background-color: rgba(244, 67, 54, 0.1);
    color: #F44336;
}

.ping-result-item i {
    font-size: 0.75rem;
    width: 14px;
}

.ping-success {
    font-weight: 600;
    margin-left: auto;
}

.ping-error {
    font-weight: 500;
    margin-left: auto;
}

.theme-dark .ping-result-item {
    background-color: rgba(255, 255, 255, 0.05);
}

.theme-dark .ping-result-item.success {
    background-color: rgba(76, 175, 80, 0.15);
}

.theme-dark .ping-result-item.error {
    background-color: rgba(244, 67, 54, 0.15);
}

/* Modal Footer Button Spacing Fix */
.modal-footer .btn {
    margin: 0;
}

/* Dark Mode for Settings Form Groups */
.theme-dark .settings-form-group {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .settings-form-group:hover {
    border-color: var(--primary);
    background: rgba(255, 255, 255, 0.05);
}

/* Ödeme Ayarları Stilleri */
.payment-settings-section,
.payment-vouchers-section {
    margin-bottom: 1.5rem;
}

.payment-settings-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e0e0e0;
}

.settings-restaurant-location-section .settings-restaurant-location-hint {
    margin: 0 0 0.75rem 0;
    font-size: 0.8125rem;
    color: var(--text-secondary, #666);
    line-height: 1.45;
}

.settings-location-coords-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.settings-location-coord-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 140px;
}

.settings-location-coord-field label {
    font-size: 0.8125rem;
    color: var(--text-secondary, #666);
}

.settings-location-coord-field .payment-setting-input {
    max-width: 160px;
}

.settings-location-save-btn,
.settings-location-find-btn {
    margin-bottom: 1px;
}

.settings-location-map {
    width: 100%;
    height: 280px;
    border-radius: 8px;
    border: 1px solid var(--border-color, #e0e0e0);
    background: #f5f5f5;
    z-index: 0;
}

.settings-restaurant-location-map-hint {
    display: block;
    margin-top: 0.5rem;
}

.settings-location-marker-icon {
    background: transparent !important;
    border: none !important;
}

/* Yazarkasa: hesap kapatma / veresiye fiş bypass — 2 kolon */
.yazarkasa-bypass-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem 1rem;
    align-items: stretch;
}
.yazarkasa-bypass-col {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.yazarkasa-bypass-notice {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    margin: 0;
    border-radius: 4px;
    border: 1px solid rgba(198, 40, 40, 0.38);
    background: rgba(198, 40, 40, 0.07);
    flex: 1;
}
.yazarkasa-bypass-notice .fa-exclamation-triangle,
.yazarkasa-bypass-notice .fa-info-circle {
    flex-shrink: 0;
    margin-top: 0.12rem;
    color: #c62828;
    font-size: 0.95rem;
}
.yazarkasa-bypass-notice--warn {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.1);
}
.yazarkasa-bypass-notice--warn .fa-info-circle {
    color: #d97706;
}
.yazarkasa-bypass-notice-text {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--text-secondary);
}
.yazarkasa-bypass-settings-list {
    margin-bottom: 0;
}
.yazarkasa-bypass-setting-row {
    border-radius: 4px;
}
.yazarkasa-bypass-switch-wrap {
    flex-shrink: 0;
}
.theme-dark .yazarkasa-bypass-notice {
    border-color: rgba(239, 83, 80, 0.45);
    background: rgba(198, 40, 40, 0.12);
}
.theme-dark .yazarkasa-bypass-notice--warn {
    border-color: rgba(251, 191, 36, 0.4);
    background: rgba(245, 158, 11, 0.14);
}
.theme-dark .yazarkasa-bypass-notice-text {
    color: rgba(255, 255, 255, 0.72);
}
@media (max-width: 720px) {
    .yazarkasa-bypass-grid {
        grid-template-columns: 1fr;
    }
}

/* Klavye kısayolları (Ayarlar + ödeme FAB rozeti) */
.keyboard-shortcuts-section .settings-section-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
}
.keyboard-shortcuts-group {
    margin-bottom: 1.25rem;
    width: 100%;
}
.keyboard-shortcuts-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: 100%;
}
.keyboard-shortcuts-row {
    display: grid;
    grid-template-columns: minmax(8rem, 1.4fr) minmax(5rem, 0.8fr) auto;
    gap: 0.5rem 0.75rem;
    align-items: center;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    border: 1px solid var(--border-color, #e8e8e8);
    background: var(--surface-elevated, #fff);
}
.keyboard-shortcuts-label {
    font-size: 0.88rem;
    font-weight: 600;
}
.keyboard-shortcuts-chord {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.06);
    text-align: center;
    min-height: 1.6rem;
}
.keyboard-shortcuts-chord.is-capturing {
    background: rgba(25, 118, 210, 0.15);
    color: #1565c0;
    animation: keyboard-shortcut-pulse 1s ease-in-out infinite;
}
@keyframes keyboard-shortcut-pulse {
    50% { opacity: 0.55; }
}
.keyboard-shortcuts-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}
.keyboard-shortcuts-capture-hint {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: rgba(25, 118, 210, 0.1);
    color: #1565c0;
    font-weight: 600;
    font-size: 0.88rem;
}
.theme-dark .keyboard-shortcuts-row {
    background: rgba(255, 255, 255, 0.04);
}
.theme-dark .keyboard-shortcuts-chord {
    background: rgba(255, 255, 255, 0.08);
}
.payment-fab-item {
    position: relative;
}
.payment-fab-shortcut-badge {
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 1;
    font-size: 0.56rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.04em;
    padding: 0.16rem 0.32rem;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    pointer-events: none;
    white-space: nowrap;
    max-width: calc(100% - 6px);
    overflow: hidden;
    text-overflow: ellipsis;
}
.theme-dark .payment-fab-shortcut-badge {
    background: rgba(0, 0, 0, 0.72);
}

/* Hesap kapatmada ÖKC fiş atlama: sol adisyon özeti, Toplam satırının hemen altında */
.order-summary .yazarkasa-bypass-banner {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0.4rem 0 0.15rem;
    pointer-events: auto;
    z-index: auto;
}
.order-summary .yazarkasa-bypass-banner-inner {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.4rem 0.45rem 0.4rem 0.55rem;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(183, 28, 28, 0.78);
    color: #fff;
    backdrop-filter: blur(12px) saturate(1.2);
    -webkit-backdrop-filter: blur(12px) saturate(1.2);
    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.order-summary .yazarkasa-bypass-banner-icon {
    flex-shrink: 0;
    font-size: 0.88rem;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.order-summary .yazarkasa-bypass-banner-text {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    flex: 1 1 auto;
    line-height: 1.2;
}
.order-summary .yazarkasa-bypass-banner-text strong {
    font-size: 0.74rem;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}
.order-summary .yazarkasa-bypass-banner-text span {
    font-size: 0.66rem;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}
.order-summary .yazarkasa-bypass-banner-btn {
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    padding: 0.28rem 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.94);
    color: #b71c1c;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    cursor: pointer;
    white-space: nowrap;
}
.order-summary .yazarkasa-bypass-banner-btn:hover:not(:disabled) {
    background: #fff;
}
.order-summary .yazarkasa-bypass-banner-btn:disabled {
    opacity: 0.7;
    cursor: wait;
}
.theme-dark .order-summary .yazarkasa-bypass-banner-inner {
    background: rgba(120, 20, 20, 0.82);
    border-color: rgba(255, 205, 210, 0.28);
}

.payment-settings-list {
    background: #f3f4f7;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    padding: 0.625rem;
    margin-bottom: 1rem;
}

.payment-setting-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.75rem;
    border: 1px solid #e7e9ee;
    border-radius: 0;
    border-bottom-width: 0;
    background: #fff;
    margin-bottom: 0;
    min-height: 36px;
}

.payment-setting-item:last-child {
    border-bottom-width: 1px;
}

.payment-setting-label {
    flex: 1;
    font-size: 0.8125rem;
    color: var(--text-primary);
    font-weight: 400;
}

.payment-setting-control {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.payment-setting-info {
    font-size: 0.75rem;
    color: var(--text-secondary);
    font-style: italic;
}

.payment-setting-sub-item {
    padding: 0.45rem 0.75rem 0.45rem 2rem;
    border: 1px solid #e7e9ee;
    border-radius: 0;
    border-top-width: 0;
    border-bottom-width: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 32px;
    background: #eceff4;
    margin: 0;
}

.payment-setting-sub-item:last-child {
    border-bottom-width: 1px;
}

.payment-setting-sub-item label {
    font-size: 0.75rem;
    color: var(--text-secondary);
    min-width: 140px;
    flex-shrink: 0;
}

.payment-setting-input,
.payment-setting-input-small {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    width: 100px;
    flex-shrink: 0;
}

.payment-setting-input-small {
    width: 80px;
}

.payment-setting-input:focus,
.payment-setting-input-small:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(255, 23, 68, 0.1);
}
.theme-dark .payment-settings-list {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
}
.theme-dark .payment-setting-item {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .payment-setting-sub-item {
    background: rgba(255, 255, 255, 0.05);
}

/* Settings Footer - Versiyon Bilgisi */
.settings-footer {
    margin-top: auto;
    padding: 1rem;
    border-top: 1px solid var(--light-gray);
    background: var(--card-bg);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.settings-version-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-muted);
    justify-content: center;
}

.version-label,
.build-label {
    font-weight: 500;
    color: var(--text-secondary);
}

.version-value,
.build-value {
    font-weight: 600;
    color: var(--text-primary);
}

.version-separator {
    color: var(--text-muted);
    margin: 0 0.25rem;
}

.settings-support-info {
    text-align: center;
    font-size: 0.7rem;
    color: var(--text-muted);
}

.support-text {
    font-style: italic;
}

/* Yazıcı Ayarları: üst satır 2 kolon, alt satır online kopyalar — settings-two-column flex:1 çakışmasın */
.settings-section.settings-section--yazici {
    height: auto;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}
.printer-settings-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
}
.printer-settings-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    width: 100%;
    flex: 0 0 auto;
    align-items: start;
}
.printer-settings-columns .printer-section-used,
.printer-settings-columns .printer-section-system {
    min-width: 0;
}
.printer-section-used {
    margin-bottom: 0;
}
.online-print-targets-block {
    width: 100%;
    flex: 0 0 auto;
    position: relative;
    z-index: 1;
    margin-top: 0;
    padding-top: 1.1rem;
    border-top: 1px solid var(--light-gray, #e8e8e8);
}
.online-print-targets-block-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}
.online-print-targets-block-title {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary, #263238);
}
.online-print-targets-block-hint {
    margin: 0;
    max-width: 52rem;
}
.online-print-targets-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.85rem;
}
.online-print-targets-card {
    border: 1px solid var(--light-gray, #e0e0e0);
    border-radius: 10px;
    padding: 0.75rem;
    background: var(--white, #fff);
}
.online-print-targets-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}
.online-print-targets-empty {
    font-size: 0.82rem;
    color: #78909c;
    padding: 0.35rem 0;
}
.online-print-targets-row {
    display: flex;
    align-items: flex-end;
    gap: 0.45rem;
    margin-bottom: 0.45rem;
}
.online-print-targets-select {
    flex: 1;
    min-width: 0;
    height: 38px;
    padding: 0.45rem 2rem 0.45rem 0.65rem;
    border: 1px solid var(--border-color, #cfd8dc);
    border-radius: var(--border-radius, 8px);
    font-size: 0.88rem;
    font-family: var(--font-family-base);
    color: var(--text-primary, #263238);
    background-color: var(--white, #fff);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.55rem center;
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.online-print-targets-select:focus {
    outline: none;
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}
.online-print-targets-copies-label {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--text-secondary, #607d8b);
    flex-shrink: 0;
}
.online-print-targets-copies {
    width: 68px;
    height: 38px;
    padding: 0.35rem 0.45rem;
    border: 1px solid var(--border-color, #cfd8dc);
    border-radius: var(--border-radius, 8px);
    font-size: 0.88rem;
    font-family: var(--font-family-base);
    color: var(--text-primary, #263238);
    background: var(--white, #fff);
    text-align: center;
}
.online-print-targets-copies:focus {
    outline: none;
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}
.theme-dark .online-print-targets-block {
    border-top-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .online-print-targets-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .online-print-targets-select,
.theme-dark .online-print-targets-copies {
    background-color: rgba(0, 0, 0, 0.25);
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--text-primary, #eee);
}
.theme-dark .online-print-targets-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ccc' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
}

/* Yazıcı kartları: daha geniş */
.printer-cards-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}

.printer-card .card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.printer-card-quick-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--medium-gray, rgba(0,0,0,0.08));
}

.btn-printer-gdi {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    min-width: 2rem;
    line-height: 1;
}

.btn-printer-gdi.active {
    background: rgba(22, 163, 74, 0.14);
    color: #15803d;
}

.btn-printer-gdi.active:hover {
    background: rgba(22, 163, 74, 0.22);
    color: #166534;
}

.btn-printer-role {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.6rem;
    font-size: 0.8rem;
    border: 1px solid var(--medium-gray, #ced4da);
    border-radius: var(--border-radius, 6px);
    background: var(--white, #fff);
    color: var(--text-secondary, #6c757d);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.btn-printer-role:hover {
    border-color: var(--success, #16a34a);
    color: var(--success, #15803d);
    background: rgba(22, 163, 74, 0.08);
}

.btn-printer-role.active {
    border-color: var(--success, #16a34a);
    background: var(--success, #16a34a);
    color: #fff;
}

.btn-printer-role i {
    font-size: 0.85em;
}

.printer-role-with-copies {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.printer-role-copies-stepper {
    display: inline-flex;
    align-items: center;
    gap: 0;
    border: 1px solid var(--success, #16a34a);
    border-radius: var(--border-radius, 6px);
    overflow: hidden;
    background: rgba(22, 163, 74, 0.08);
    height: 1.85rem;
}

.printer-role-copies-stepper--inline {
    border-color: var(--medium-gray, #ced4da);
    background: var(--white, #fff);
    height: 1.7rem;
}

.btn-copies-step {
    border: 0;
    background: transparent;
    color: var(--text-primary, #263238);
    width: 1.5rem;
    height: 100%;
    padding: 0;
    font-size: 0.95rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-copies-step:hover:not(:disabled) {
    background: rgba(22, 163, 74, 0.15);
}

.btn-copies-step:disabled {
    opacity: 0.4;
    cursor: default;
}

.printer-role-copies-value {
    min-width: 1.25rem;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-primary, #263238);
    padding: 0 0.15rem;
}

.online-print-targets-block--compact {
    padding-top: 0.85rem;
}

.online-print-targets-block-head--inline {
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
}

.online-print-targets-block-head--inline .online-print-targets-block-title {
    margin: 0;
    white-space: nowrap;
}

.online-print-targets-block-head--inline .online-print-targets-block-hint {
    margin: 0;
    flex: 1 1 auto;
    min-width: 12rem;
    font-size: 0.82rem;
}

.online-print-targets-flat {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.online-print-targets-flat-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--light-gray, #e0e0e0);
    border-radius: 8px;
    background: var(--white, #fff);
}

.online-print-targets-plat-name {
    min-width: 7.5rem;
    font-size: 0.86rem;
    color: var(--text-primary, #263238);
}

.online-print-targets-flat-items {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex: 1 1 auto;
    flex-wrap: wrap;
    min-width: 0;
}

.online-print-targets-inline-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.online-print-targets-select--compact {
    min-width: 9rem;
    max-width: 14rem;
    height: 1.7rem;
    padding: 0.15rem 0.4rem;
    font-size: 0.8rem;
}

.online-print-targets-empty--inline {
    padding: 0;
    font-size: 0.8rem;
}

.theme-dark .online-print-targets-flat-row {
    background: var(--card-bg, #1e1e1e);
    border-color: rgba(255,255,255,0.1);
}

.system-printer-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: var(--card-bg);
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    margin-bottom: 0.5rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.system-printer-item:hover {
    border-color: var(--primary);
    box-shadow: var(--card-shadow);
}

.system-printer-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.system-printer-content i {
    font-size: 1rem;
}

.system-printer-content .text-success {
    color: var(--success);
}

.system-printer-content .text-muted {
    color: var(--text-muted);
    opacity: 0.5;
}

.system-printer-name {
    font-weight: 600;
    color: var(--text-primary);
}
.system-printer-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.system-printer-port {
    font-size: 0.78rem;
    color: var(--text-muted, #64748b);
    font-family: Consolas, 'Cascadia Mono', 'Segoe UI', monospace;
    word-break: break-word;
}
.system-printer-kind {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 6px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.7rem;
    font-weight: 650;
    font-family: inherit;
}

.system-printer-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.system-printer-actions .text-success {
    color: var(--success);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Ayarlar > Terazi (COM) — diğer bölümlerle aynı başlık yapısı */
.settings-section-header-with-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.scale-settings-section {
    max-width: none;
    width: 100%;
}

.sms-settings-section {
    max-width: none;
    width: 100%;
}
.sms-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 1.25rem;
    margin-top: 0.75rem;
    align-items: start;
}
.sms-settings-card {
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius, 8px);
    background: var(--card-bg);
}
.sms-settings-card-title {
    margin: 0 0 1rem 0;
    font-size: 0.95rem;
    font-weight: 600;
}
.sms-settings-intro {
    margin: 0 0 1rem 0;
}
.sms-settings-fields-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem 1rem;
    margin-bottom: 0.5rem;
}
@media (max-width: 520px) {
    .sms-settings-fields-2col {
        grid-template-columns: 1fr;
    }
}
.sms-settings-input {
    width: 100%;
    max-width: none;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius, 8px);
    font-size: 0.9rem;
    background: var(--card-bg);
    color: var(--text-primary);
    box-sizing: border-box;
}
.sms-settings-textarea {
    max-width: 100%;
    min-height: 4.5rem;
    resize: vertical;
    font-family: inherit;
    line-height: 1.4;
}
.sms-settings-switches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    margin: 0.35rem 0 1rem;
}
.sms-settings-section .settings-field {
    margin-bottom: 0.85rem;
}
.sms-settings-section .settings-field:last-child {
    margin-bottom: 0;
}
.sms-settings-actions {
    margin-top: 0.35rem;
}
.sms-settings-block {
    padding-bottom: 1.15rem;
    margin-bottom: 1.15rem;
    border-bottom: 1px solid var(--light-gray);
}
.sms-settings-block--last {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.sms-settings-block-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.65rem;
}
.sms-settings-inline-row {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
}
.sms-settings-grow {
    flex: 1;
    min-width: 0;
    margin-bottom: 0 !important;
}
.sms-settings-inline-btn {
    flex-shrink: 0;
    white-space: nowrap;
    margin-bottom: 0;
}
.sms-last-response {
    margin-top: 1.25rem;
}
.sms-swal-pre {
    text-align: left;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.85rem;
    margin: 0;
    max-height: 220px;
    overflow: auto;
}
.sms-settings-card--wide {
    grid-column: 1 / -1;
}
.sms-response-pre {
    margin-top: 0.5rem;
    padding: 0.75rem;
    font-size: 0.8rem;
    background: var(--hover-bg);
    border-radius: 8px;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 200px;
    overflow: auto;
}

.scale-settings-intro-hint {
    margin: 0 0 1rem 0;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text-muted);
}

.scale-settings-field-input {
    width: 100%;
    max-width: 220px;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius, 8px);
    font-size: 0.9rem;
    background: var(--card-bg);
    color: var(--text-primary);
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.scale-settings-field-input:hover {
    border-color: rgba(0, 0, 0, 0.15);
}

.scale-settings-field-input:focus {
    outline: none;
    border-color: var(--primary, #e0143a);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.12);
}

.theme-dark .scale-settings-field-input {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--text-primary);
}

.theme-dark .scale-settings-field-input:hover {
    border-color: rgba(255, 255, 255, 0.22);
}

.theme-dark .scale-settings-field-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(224, 20, 58, 0.25);
}

.scale-settings-layout {
    display: grid;
    grid-template-columns: minmax(280px, 340px) 1fr;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 900px) {
    .scale-settings-layout {
        grid-template-columns: 1fr;
    }
}

.scale-settings-aside {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.scale-selected-card {
    border-radius: 12px;
    border: 1px solid rgba(46, 204, 113, 0.45);
    background: linear-gradient(180deg, rgba(46, 204, 113, 0.1) 0%, var(--card-bg, #fff) 48%);
    overflow: hidden;
}

.scale-selected-card-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--success);
    padding: 0.6rem 1rem 0;
}

.scale-selected-card-body {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.65rem 1rem 0.75rem;
}

.scale-selected-card-icon {
    color: var(--success);
    font-size: 1.1rem;
    margin-top: 0.2rem;
}

.scale-selected-card-foot {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.5rem 1rem 0.65rem;
    border-top: 1px solid var(--light-gray);
    background: var(--card-bg, #fafafa);
}

.scale-com-port-badge-lg {
    font-size: 0.85rem;
    padding: 0.18rem 0.55rem;
    margin-top: 0.25rem;
}

.scale-settings-hint-top {
    margin: 0 0 0.75rem 0;
    color: var(--text-muted, #666);
    font-size: 0.95rem;
    line-height: 1.45;
}

.scale-settings-details {
    margin: 0;
    padding: 0.55rem 0.9rem;
    background: var(--card-bg, #f9f9f9);
    border: 1px solid var(--light-gray);
    border-radius: 10px;
}

.scale-settings-details-summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--primary, #e0143a);
    list-style: none;
}

.scale-settings-details-summary::-webkit-details-marker {
    display: none;
}

.scale-settings-hint-body {
    margin: 0.65rem 0 0 0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.scale-com-port-badge {
    display: inline-block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    font-family: ui-monospace, Consolas, monospace;
    background: var(--light-gray);
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    color: var(--text-primary);
    width: fit-content;
}

.scale-com-list-text,
.scale-selected-com-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    align-items: flex-start;
    min-width: 0;
}

.scale-com-caption,
.scale-selected-com-name {
    word-break: break-word;
}

.scale-selected-com-name {
    font-weight: 600;
}

.scale-settings-options-card {
    max-width: none;
    margin: 0;
    border-radius: var(--border-radius);
    border: 1px solid var(--medium-gray);
    background: var(--light-gray);
    cursor: default;
}

.scale-settings-options-card-title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding: 0.75rem 1rem 0;
}

.scale-settings-options-inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0.75rem 1rem 1rem;
}

.scale-save-btn {
    width: 100%;
    margin-top: 0.25rem;
}

.scale-switch-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.scale-baud-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.scale-baud-input {
    width: 100%;
    max-width: 220px;
}

.scale-com-in-use-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.scale-selected-badge {
    white-space: nowrap;
    flex-shrink: 0;
}

.scale-selected-com-card {
    align-items: flex-start;
}

.scale-system-com-wrap {
    margin-top: 0.5rem;
}

.scale-ports-panel {
    border-radius: 12px;
    border: 1px solid var(--light-gray);
    background: var(--card-bg);
    padding: 0.85rem 1rem 1rem;
    min-height: 200px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.scale-ports-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--light-gray);
}

.scale-ports-panel-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

.scale-ports-count {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: var(--light-gray);
    color: var(--text-muted);
}

.scale-ports-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.scale-port-tile {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border-radius: 10px;
    border: 1px solid var(--light-gray);
    background: var(--card-bg, #fff);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.scale-port-tile:hover {
    border-color: rgba(224, 20, 58, 0.35);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.scale-port-tile--active {
    border-color: rgba(46, 204, 113, 0.55);
    background: linear-gradient(90deg, rgba(46, 204, 113, 0.08) 0%, var(--card-bg, #fff) 100%);
}

.scale-port-tile-icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--light-gray);
    color: var(--text-muted);
    font-size: 1rem;
}

.scale-port-tile--active .scale-port-tile-icon {
    background: rgba(46, 204, 113, 0.22);
    color: var(--success);
}

.scale-port-tile-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    align-items: flex-start;
}

.scale-port-tile-caption {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--text-primary);
    word-break: break-word;
    line-height: 1.35;
}

.scale-port-tile-action {
    flex-shrink: 0;
}

.scale-port-use-btn {
    min-width: 4.5rem;
}

.scale-ports-empty {
    padding: 1.5rem 1rem;
}

.scale-ports-empty-icon {
    font-size: 2rem;
    color: var(--text-muted);
    opacity: 0.5;
    margin-bottom: 0.35rem;
}

/* Yazıcı Atamaları Bölümü */
.printer-assignments-section {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--light-gray);
}

.printer-assignments-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
}

.printer-assignments-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.printer-assignments-form label {
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.printer-assignments-form select {
    padding: 0.5rem;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    background: var(--card-bg);
    color: var(--text-primary);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.printer-assignments-form select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(255, 23, 68, 0.1);
}

/* Entegrasyonlar */
.settings-section-description {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.5;
    width: 100%;
    max-width: none;
    margin: 0 0 1rem 0;
    box-sizing: border-box;
}
.settings-section-sub {
    width: 100%;
    max-width: none;
    margin: 0 0 1rem 0;
    box-sizing: border-box;
}

/* Eski veri uyarlama (Ayarlar > beta) */
.legacy-migration-section {
    max-width: none;
    width: 100%;
}
.legacy-migration-intro {
    margin-bottom: 1.25rem;
    font-size: 0.95rem;
    width: 100%;
    max-width: none;
}
.legacy-migration-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    width: 100%;
}
.legacy-migration-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.25rem 1.35rem;
    background: var(--light-gray, #f8f9fa);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.legacy-migration-card--primary {
    border-color: rgba(var(--primary-rgb, 171, 34, 59), 0.35);
    background: linear-gradient(180deg, rgba(var(--primary-rgb, 171, 34, 59), 0.06) 0%, var(--light-gray, #f8f9fa) 100%);
}
.legacy-migration-card--wide {
    grid-column: 1 / -1;
}
.legacy-migration-card-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.legacy-migration-card-head h4 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.35;
    color: var(--text-primary, #212529);
}
.legacy-migration-card-icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--primary, #ab223b);
    color: #fff;
    font-size: 1.1rem;
}
.legacy-migration-card-icon--recipe {
    background: #0d6efd;
}
.legacy-migration-card-icon--link {
    background: #6c757d;
}
.legacy-migration-card-icon--cari {
    background: #212529;
}
.legacy-migration-card-desc {
    margin: 0;
    flex: 1;
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.55;
}
.legacy-migration-btn {
    width: 100%;
    min-height: 3rem;
    margin-top: auto;
    padding: 0.65rem 1rem;
    font-size: 0.95rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 10px;
}
.legacy-migration-btn i {
    font-size: 0.9rem;
}
.legacy-migration-card-result {
    margin: 0;
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
}
.legacy-migration-card-result--ok {
    background: rgba(25, 135, 84, 0.12);
    color: #198754;
}
.legacy-migration-progress {
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
    border-radius: 12px;
    border: 1px solid rgba(var(--primary-rgb, 171, 34, 59), 0.25);
    background: rgba(var(--primary-rgb, 171, 34, 59), 0.06);
}
.legacy-migration-progress-footer {
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.legacy-migration-progress-footer .legacy-migration-progress {
    margin-bottom: 0;
}
.legacy-migration-progress-head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.65rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
}
.legacy-migration-progress-pct {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
    color: var(--text-secondary);
    font-size: 0.85rem;
}
.legacy-migration-progress--hareket {
    border-color: rgba(108, 117, 125, 0.35);
    background: rgba(108, 117, 125, 0.08);
}
.legacy-migration-progress-fill--hareket {
    background: #495057;
}
.legacy-migration-progress--stamp {
    border-color: rgba(156, 109, 61, 0.4);
    background: rgba(156, 109, 61, 0.08);
}
.legacy-migration-progress-fill--stamp {
    background: #9c6d3d;
}
.legacy-migration-progress--index {
    border-color: rgba(46, 125, 50, 0.4);
    background: rgba(46, 125, 50, 0.08);
}
.legacy-migration-progress-fill--index {
    background: #2e7d32;
}
.legacy-migration-progress--courier {
    border-color: rgba(47, 111, 237, 0.4);
    background: rgba(47, 111, 237, 0.08);
}
.legacy-migration-progress-fill--courier {
    background: #2f6fed;
}
.legacy-migration-progress-track {
    height: 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.legacy-migration-progress-fill {
    height: 100%;
    border-radius: 999px;
    background: var(--primary, #ab223b);
    transition: width 0.35s ease;
}
.theme-dark .legacy-migration-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .legacy-migration-card--primary {
    background: linear-gradient(180deg, rgba(var(--primary-rgb, 171, 34, 59), 0.15) 0%, rgba(255, 255, 255, 0.04) 100%);
}
.theme-dark .legacy-migration-progress {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .legacy-migration-progress-track {
    background: rgba(255, 255, 255, 0.1);
}
.theme-dark .legacy-migration-card-result--ok {
    background: rgba(25, 135, 84, 0.2);
    color: #75b798;
}

.online-order-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 1.25rem;
    width: 100%;
    box-sizing: border-box;
}

.online-order-platform-card {
    background: var(--light-gray, #f5f5f5);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    padding: 1rem;
}

.online-order-platform-title {
    margin: 0 0 0.75rem 0;
    font-size: 1rem;
    color: var(--primary, #ab223b);
}

.online-order-setting-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
}

.online-order-label {
    flex: 1;
    min-width: 0;
    color: var(--text-primary, #333);
}

.online-order-commission-block {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--border-color, #ddd);
}

.online-order-commission-title {
    margin: 0 0 0.35rem 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
}

.online-order-commission-hint {
    margin: 0 0 0.65rem 0;
    font-size: 0.75rem;
    color: var(--text-muted, #888);
    line-height: 1.35;
}

.online-order-commission-input {
    width: 5.5rem;
    text-align: right;
}

.online-order-cari-block {
    margin-top: 0.85rem;
}

.online-order-cari-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}

.online-order-cari-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    min-width: 0;
    word-break: break-word;
}

.online-order-cari-empty {
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.online-order-cari-search-wrap {
    position: relative;
}

.online-order-cari-search-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.online-order-cari-search {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto;
    box-sizing: border-box;
}

.online-order-cari-create-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.online-order-cari-empty-create {
    margin-top: 0.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.15rem 0.35rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.online-order-cari-empty-create .btn-link {
    padding: 0;
    vertical-align: baseline;
}

.online-order-cari-hint {
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--text-secondary, #888);
}

.online-order-cari-results {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    max-height: 10rem;
    overflow-y: auto;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: #fff;
}

.online-order-cari-results li {
    padding: 0.45rem 0.65rem;
    font-size: 0.8125rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color, #eee);
}

.online-order-cari-results li:last-child {
    border-bottom: none;
}

.online-order-cari-results li:hover {
    background: var(--light-gray, #f5f5f5);
}
    max-width: 5.5rem;
    text-align: right;
}

.paket-commission-totals {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin: 0 0 1rem 0;
    padding: 0.75rem 1rem;
    background: var(--light-gray, #f8f8f8);
    border-radius: 8px;
    font-size: 0.9rem;
}

.paket-metric-val--net,
.paket-net-cell {
    color: var(--success, #2e7d32);
    font-weight: 600;
}

.paket-tag--settlement-ok {
    background: rgba(46, 125, 50, 0.12);
    color: #2e7d32;
    border-color: rgba(46, 125, 50, 0.35);
}

.paket-tag--settlement-manual {
    background: rgba(255, 152, 0, 0.12);
    color: #e65100;
    border-color: rgba(255, 152, 0, 0.35);
}

.paket-tag--settlement-pending {
    background: rgba(33, 150, 243, 0.12);
    color: #1565c0;
    border-color: rgba(33, 150, 243, 0.35);
}

.paket-tag--settlement-missing {
    background: rgba(244, 67, 54, 0.1);
    color: #c62828;
    border-color: rgba(244, 67, 54, 0.3);
}

.paket-tag--settlement-neutral {
    background: rgba(96, 125, 139, 0.1);
    color: #546e7a;
}

/* Online Siparişler inputları */
.online-order-input {
    width: 4.5rem;
    min-width: 4.5rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    background: var(--card-bg, #fff);
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--text-primary, #333);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.online-order-input:hover {
    border-color: var(--primary, #ab223b);
}
.online-order-input:focus {
    outline: none;
    border-color: var(--primary, #ab223b);
    box-shadow: 0 0 0 2px rgba(171, 34, 59, 0.15);
}
.online-order-input::placeholder {
    color: var(--text-secondary, #888);
}
.online-order-time {
    width: 3rem;
    min-width: 3rem;
}
.online-order-switch-and-input {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.online-order-switch-and-input .online-order-input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.online-order-save-row {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, #e0e0e0);
}

/* Online Shops List */
.online-shops-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.online-shop-item {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.online-shop-item:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.online-shop-item--clickable {
    cursor: pointer;
}

.online-shops-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.online-shops-section-head h4 {
    margin: 0;
}

.online-shop-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-color);
}

.integration-code-field {
    text-align: center;
    padding: 0.5rem 0 0.25rem;
}

.integration-code-label {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: var(--text-primary, #1e293b);
}

.integration-code-input {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 0.85rem 1rem;
    max-width: 280px;
    margin: 0 auto;
}

.online-shop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-color);
}

.online-shop-header h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.online-shop-status-badges {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

.status-dot.status-open {
    background: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
}

.status-dot.status-closed {
    background: #f44336;
    box-shadow: 0 0 0 3px rgba(244, 67, 54, 0.2);
}

.online-shop-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.detail-label {
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 120px;
}

.detail-value {
    color: var(--text-primary);
    word-break: break-all;
    font-family: 'Courier New', monospace;
    font-size: 0.8125rem;
    background: rgba(0, 0, 0, 0.03);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
}

.status-badge.status-active {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

.status-badge.status-inactive {
    background: rgba(158, 158, 158, 0.1);
    color: #9E9E9E;
}

/* Yazarkasa Ayarları - KDV Departmanları Liste Formatı */
.cr-sections-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.cr-section-list-item {
    padding: 0.5rem 0.75rem;
    background: var(--light-gray);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.cr-section-list-item:hover {
    border-color: var(--primary);
    box-shadow: var(--card-shadow);
}

.cr-section-list-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
}

.cr-section-number {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 24px;
    text-align: center;
}

.cr-section-name-display {
    flex: 1;
    min-width: 0;
    font-size: 0.85rem;
    color: var(--text-primary);
}

.cr-section-rate-display {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    min-width: 2.5rem;
    text-align: right;
}

.cr-section-edit-btn {
    margin-left: auto;
    flex-shrink: 0;
}

.settings-ui-lite-select {
    min-width: 16rem;
    max-width: 100%;
    padding-right: 2rem;
}

.missing-cr-section-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 50vh;
    overflow-y: auto;
}

.missing-cr-section-row {
    display: grid;
    grid-template-columns: 1fr minmax(140px, 180px);
    gap: 0.75rem;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-color);
}

.missing-cr-section-row:last-child {
    border-bottom: none;
}

.missing-cr-section-product-name {
    font-size: 0.9rem;
    color: var(--text-primary);
}

.cr-section-weighable {
    font-size: 0.75rem;
    color: #4CAF50;
    margin-left: auto;
    display: flex;
    align-items: center;
}

.text-success {
    color: #4CAF50;
}

.text-muted {
    color: var(--text-secondary);
}

.badge {
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-block;
}

.badge-primary {
    background: rgba(255, 23, 68, 0.1);
    color: var(--primary);
}

.badge-success {
    background: rgba(76, 175, 80, 0.1);
    color: #4CAF50;
}

/* ========== Ürünler Yönetim Sayfası ========== */
.products-page-wrapper,
.recipes-page-wrapper,
.products-admin-page {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--light-gray, #f0f0f0);
}

.products-admin-context-menu {
    position: fixed;
    z-index: 12000;
    min-width: 200px;
    max-width: 280px;
    padding: 4px 0;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.products-admin-context-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 0.9rem;
    color: var(--text-primary, #222);
    cursor: pointer;
}
.products-admin-context-item:hover {
    background: var(--light-gray, #f0f0f0);
}

.products-admin-context-item--danger {
    color: var(--danger, #dc3545);
}

.products-admin-context-item--danger i {
    color: var(--danger, #dc3545);
}

.products-admin-context-item--danger:hover {
    background: rgba(220, 53, 69, 0.1);
    color: #b02a37;
}
.products-admin-context-menu .products-admin-context-item--paste {
    color: #1565c0 !important;
    font-weight: 600;
}
.products-admin-context-menu .products-admin-context-item--paste:hover {
    background: rgba(21, 101, 192, 0.12) !important;
    color: #0d47a1 !important;
}
.products-admin-context-menu .products-admin-context-item--paste i {
    color: #1565c0 !important;
    opacity: 1;
}
.products-admin-context-divider {
    height: 1px;
    margin: 4px 0;
    background: var(--border-color, #e0e0e0);
}
.products-admin-context-item i {
    width: 16px;
    opacity: 0.7;
}

/* Sol aksiyon çubuğu: Kasa/Ayarlar sayfası sidebar ile aynı tema (primary gradient), yatay ayraçlar */
.products-admin-action-btn.products-admin-studio-launch {
    background: linear-gradient(135deg, #d01c42 0%, #9b1533 100%);
    color: #fff;
    border-color: transparent;
}
.products-admin-action-btn.products-admin-studio-launch:hover {
    filter: brightness(1.06);
    color: #fff;
}
.products-admin-action-btn.products-admin-studio-launch:focus,
.products-admin-action-btn.products-admin-studio-launch:focus-visible,
.products-admin-action-btn.products-admin-studio-launch:active {
    outline: none;
    filter: none;
    background: linear-gradient(135deg, #d01c42 0%, #9b1533 100%);
    color: #fff;
    box-shadow: none;
}
.products-admin-low-stock-queue {
    grid-column: 1 / -1;
    margin: 0.5rem 0.75rem 0;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    border: 1px solid rgba(180, 100, 20, 0.35);
    background: rgba(255, 193, 7, 0.12);
}
.products-admin-low-stock-queue-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.products-admin-low-stock-queue-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 220px;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.products-admin-low-stock-queue-list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.35rem 0.4rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.55);
}
.products-admin-low-stock-queue-name { font-weight: 600; }
.products-admin-low-stock-queue-stats { font-size: 0.85rem; opacity: 0.85; display: block; }
.products-admin-low-stock-queue-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.products-admin-low-stock-queue-actions .filter-input {
    width: 5.5rem;
    min-width: 4rem;
}
.reports-inventory-diff-only {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.85rem;
    white-space: nowrap;
    margin: 0 0.35rem;
    cursor: pointer;
    user-select: none;
}
.products-admin-actions-bar {
    max-width: 72px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, var(--primary-second) 0%, var(--primary) 100%);
    color: var(--white);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 1px 0 4px rgba(0,0,0,0.08);
    gap: 0;
}
.products-admin-mode-btn {
    flex: 0 0 auto;
    min-height: 76px;
    padding: 10px 4px;
    font-weight: 700;
    border-top: none;
    background: rgba(255, 255, 255, 0.06);
}
.products-admin-mode-btn i,
.products-admin-mode-btn span {
    transition: color 0.15s ease;
}
/* Satış modu aktifken — yeşil ton */
.products-admin-mode-btn--sales {
    border-bottom: 2px solid rgba(76, 175, 80, 0.45);
    background: rgba(76, 175, 80, 0.14);
}
.products-admin-mode-btn--sales i {
    color: #66bb6a;
}
.products-admin-mode-btn--sales span {
    color: #a5d6a7;
}
.products-admin-action-btn.products-admin-mode-btn--sales:hover {
    background: rgba(76, 175, 80, 0.22);
}
.products-admin-action-btn.products-admin-mode-btn--sales:hover i {
    color: #81c784;
}
.products-admin-action-btn.products-admin-mode-btn--sales:hover span {
    color: #c8e6c9;
}
/* Hammadde modu aktifken — açık sarı */
.products-admin-mode-btn--hammadde {
    border-bottom: 2px solid rgba(253, 224, 71, 0.45);
    background: rgba(254, 240, 138, 0.12);
}
.products-admin-mode-btn--hammadde i {
    color: #fde047;
}
.products-admin-mode-btn--hammadde span {
    color: #fef9c3;
}
.products-admin-action-btn.products-admin-mode-btn--hammadde:hover {
    background: rgba(254, 240, 138, 0.2);
}
.products-admin-action-btn.products-admin-mode-btn--hammadde:hover i {
    color: #fef08a;
}
.products-admin-action-btn.products-admin-mode-btn--hammadde:hover span {
    color: #fffbeb;
}
.products-admin-action-btn {
    flex: 1;
    min-height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px 4px;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: transparent;
    color: var(--white);
    font-size: 0.7rem;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    border-radius: 0;
    transition: background 0.2s ease, color 0.2s ease;
}
.products-admin-action-btn:first-child {
    border-top: none;
}
.products-admin-action-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--white);
}
.products-admin-action-btn i {
    font-size: 1.25rem;
    display: block;
}
.products-admin-action-btn span {
    display: block;
    white-space: nowrap;
    word-break: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.15;
    font-size: 0.64rem;
}
.products-admin-action-btn.products-admin-undo-bulk {
    background: rgba(255, 193, 7, 0.22);
    color: #ffe082;
}
.products-admin-action-btn.products-admin-undo-bulk:hover:not(:disabled) {
    background: rgba(255, 193, 7, 0.35);
    color: #fff8e1;
}

/* Toplu fiyat güncelleme modal - standart modal sınıfları, header border-radius */
.price-backup-modal { max-width: 480px; width: 95%; }
.price-backup-hint { font-size: 0.85rem; color: var(--text-secondary, #666); margin: 0 0 0.75rem 0; }
.price-backup-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.price-backup-item { display: flex; align-items: center; gap: 0.75rem; border: 1px solid var(--border-color, #eee); border-radius: 8px; padding: 0.55rem 0.7rem; }
.price-backup-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.price-backup-note { font-weight: 600; font-size: 0.85rem; }
.price-backup-when { font-size: 0.75rem; color: var(--text-secondary, #888); }
.price-backup-empty { color: var(--text-secondary, #888); padding: 0.5rem 0; }
.products-admin-page > .modal-overlay.products-admin-bulk-price-overlay {
    position: fixed;
    inset: 0;
    flex: none;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    align-self: stretch;
}
.products-admin-bulk-price-modal.modal-content {
    max-width: 1000px;
    width: min(96vw, 1000px);
    min-width: min(92vw, 320px);
    background: var(--white, #fff);
    flex-shrink: 0;
}
.products-admin-bulk-price-modal .modal-header {
    border-radius: 12px 12px 0 0;
}
.products-admin-bulk-price-modal.modal-shake {
    animation: modal-shake 0.4s ease;
}
.products-admin-bulk-price-modal .modal-body { padding: 16px 20px; }
.products-admin-bulk-price-modal .modal-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--border-color, #e2e8f0);
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.products-admin-bulk-price-modal .bulk-price-footer-left {
    margin-right: auto;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.bulk-price-toolbar-group.bulk-price-scope-group {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
}
.bulk-price-scope-chip {
    border: 1px solid var(--border-color, #d0d5dd);
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.2;
}
.bulk-price-scope-chip.active {
    background: rgba(208, 28, 66, 0.1);
    border-color: #d01c42;
    color: #9b1533;
}
.bulk-price-group-picker-overlay { z-index: 10050; }
.bulk-price-group-picker-modal {
    max-width: 420px;
    width: 92%;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}
.bulk-price-group-picker-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
}
.bulk-price-group-picker-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.bulk-price-group-picker-count {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--text-muted, #64748b);
}
.bulk-price-group-picker-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    max-height: 46vh;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
}
.bulk-price-group-picker-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-color, #f1f5f9);
    cursor: pointer;
}
.bulk-price-group-picker-list li:last-child { border-bottom: none; }
.bulk-price-group-picker-list li:hover { background: #f8fafc; }
.bulk-price-group-picker-name { flex: 1; min-width: 0; }
.bulk-price-group-picker-empty {
    padding: 16px;
    text-align: center;
    color: var(--text-muted, #64748b);
    cursor: default;
}

.products-admin-page.studio-mode .modal-overlay.products-admin-studio-embed .products-admin-prep-modal {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.bulk-price-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 12px;
    overflow-x: auto;
}
.bulk-price-toolbar-group {
    display: inline-flex;
    align-items: center;
    gap: 6px 8px;
    padding: 6px 10px;
    background: var(--bg-subtle, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: var(--border-radius, 8px);
    flex-shrink: 0;
    white-space: nowrap;
}
.bulk-price-toolbar-group.bulk-price-toolbar-actions { padding: 6px 12px; }
.bulk-price-group-title { font-weight: 600; font-size: 0.8rem; color: var(--text-muted, #64748b); text-transform: uppercase; letter-spacing: 0.03em; flex-shrink: 0; }
.bulk-price-radio { font-size: 0.875rem; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.bulk-price-radio .app-switch { flex-shrink: 0; }
.bulk-price-radio input { cursor: pointer; }
/* Stilli input/select - form-control benzeri */
.products-admin-bulk-price-modal .bulk-price-input.form-control,
.products-admin-bulk-price-modal .bulk-price-select.form-control,
.products-admin-bulk-price-modal .bulk-price-input-new.form-control {
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius, 6px);
    font-size: 0.875rem;
    background: var(--white, #fff);
    color: var(--text-primary, #333);
    font-family: var(--font-family-base);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.products-admin-bulk-price-modal .bulk-price-input.form-control:focus,
.products-admin-bulk-price-modal .bulk-price-select.form-control:focus,
.products-admin-bulk-price-modal .bulk-price-input-new.form-control:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.12);
}
.products-admin-bulk-price-modal .bulk-price-input.form-control { width: 72px; min-width: 72px; }
.products-admin-bulk-price-modal .bulk-price-select.form-control { min-width: 88px; cursor: pointer; }
.products-admin-bulk-price-modal .bulk-price-input-new.form-control { width: 100%; max-width: 110px; }
.bulk-price-delta {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
}
.bulk-price-delta--up { color: #15803d; }
.bulk-price-delta--down { color: #b91c1c; }
.bulk-price-btn-preview { white-space: nowrap; }
.bulk-price-hint { margin: 0 0 12px; font-size: 0.8rem; color: var(--text-muted); line-height: 1.4; }
.bulk-price-table-wrap { max-height: 50vh; overflow-y: auto; border: 1px solid var(--border-color); border-radius: 8px; }
.bulk-price-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.bulk-price-table th, .bulk-price-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--border-color); white-space: normal; word-break: break-word; overflow-wrap: anywhere; vertical-align: top; }
.bulk-price-table th { background: var(--white, #fff); font-weight: 600; color: var(--text-muted); position: sticky; top: 0; z-index: 1; box-shadow: 0 1px 0 0 var(--border-color, #e2e8f0); }
.bulk-price-table thead tr { background: var(--white, #fff); }
.bulk-price-table tbody tr:hover { background: rgba(0,0,0,0.02); }
.bulk-price-table tr.bulk-price-group-header td { background: var(--bg-subtle, #f1f5f9); font-weight: 600; color: var(--text-muted, #64748b); padding: 8px 12px; border-bottom: 1px solid var(--border-color, #e2e8f0); }
.bulk-price-row-portion td:first-child { color: var(--text-muted); padding-left: 24px; }
.bulk-price-row-option td:first-child { color: var(--text-muted); padding-left: 24px; }
.bulk-price-empty { margin: 12px 0; font-size: 0.875rem; color: var(--text-muted); font-style: italic; }
.bulk-price-summary-bar {
    display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center;
    margin: 0 0 12px; padding: 10px 14px; border-radius: 10px;
    background: #f8fafc; border: 1px solid var(--border-color, #e2e8f0);
    font-size: 0.85rem; color: var(--text-secondary, #475569);
}
.bulk-price-filter-input {
    margin-left: auto;
    width: 168px;
    min-width: 120px;
    height: 30px;
    padding: 4px 10px;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 6px;
    font-size: 0.8rem;
    background: #fff;
    color: var(--text-primary, #334155);
}
.bulk-price-filter-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.12);
}
.bulk-price-modal--purchase { max-width: 1000px; width: min(96vw, 1000px); }
.bulk-purchase-cards {
    max-height: 52vh; overflow-y: auto; display: flex; flex-direction: column; gap: 8px;
    padding: 2px 2px 8px;
}
.bulk-purchase-group-label {
    position: sticky; top: 0; z-index: 1;
    margin-top: 6px; padding: 8px 10px; font-weight: 700; font-size: 0.8rem;
    color: var(--text-muted, #64748b); background: #eef2f7; border-radius: 8px;
}
.bulk-purchase-card {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 14px; border-radius: 12px; border: 1px solid var(--border-color, #e2e8f0);
    background: #fff; transition: border-color 0.15s, box-shadow 0.15s;
}
.bulk-purchase-card:hover { border-color: #cbd5e1; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06); }
.bulk-purchase-card--up { border-left: 4px solid #16a34a; }
.bulk-purchase-card--down { border-left: 4px solid #dc2626; }
.bulk-purchase-card-main { min-width: 160px; flex: 1 1 180px; }
.bulk-purchase-card-title { font-weight: 650; font-size: 0.95rem; color: var(--text-primary, #0f172a); }
.bulk-purchase-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.bulk-purchase-unit {
    display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px;
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
    background: #e0f2fe; color: #0369a1;
}
.bulk-purchase-badge {
    display: inline-flex; padding: 2px 8px; border-radius: 999px;
    font-size: 0.72rem; font-weight: 650; background: #fef3c7; color: #92400e;
}
.bulk-purchase-card-prices {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
}
.bulk-purchase-old {
    font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text-muted, #64748b);
    min-width: 4.5rem; text-align: right;
}
.bulk-purchase-arrow { color: #94a3b8; font-weight: 700; }
.bulk-price-modal--purchase .bulk-price-input-new.form-control {
    max-width: 120px; font-weight: 700; font-size: 1rem;
}

/* Kampanya tanımları modal */
.products-admin-campaign-overlay { align-items: stretch; justify-content: center; padding: 20px; }
.products-admin-campaign-modal { max-width: 960px; width: 95%; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.12); }
.products-admin-campaign-modal .modal-header { border-radius: 12px 12px 0 0; padding: 0.5rem 1rem; border-bottom: 1px solid var(--border-color, #e2e8f0); }
.campaign-modal-body { display: flex; flex: 1; min-height: 360px; overflow: hidden; }
.campaign-modal-left { width: 280px; min-width: 260px; flex-shrink: 0; border-right: 1px solid var(--border-color, #e2e8f0); display: flex; flex-direction: column; overflow: hidden; background: var(--lighter-gray, #f8f9fa); }
.campaign-list-loading { padding: 12px; margin: 0; font-size: 0.875rem; color: var(--text-muted); flex-shrink: 0; }
.campaign-list-wrap { flex: 1; min-height: 0; overflow-y: auto; }
.campaign-list-footer { flex-shrink: 0; padding: 12px; border-top: 1px solid var(--border-color, #e2e8f0); background: #fff; }
.campaign-btn-new { width: 100%; justify-content: center; }
.campaign-list-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.campaign-list-table th, .campaign-list-table td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--border-color, #eee); white-space: normal; word-break: break-word; overflow-wrap: anywhere; vertical-align: top; }
.campaign-list-table th { font-weight: 600; color: var(--text-muted); }
.campaign-list-table tbody tr { cursor: pointer; transition: background 0.15s; }
.campaign-list-table tbody tr:hover { background: rgba(0,0,0,0.04); }
.campaign-list-table tbody tr.active { background-color: (76, 175, 80, 0.1); }
.campaign-active-badge { font-size: 0.75rem; padding: 2px 6px; border-radius: 4px; background: var(--lighter-gray); color: var(--text-muted); }
.campaign-active-badge.on { background: rgba(76, 175, 80, 0.2); color: var(--success); }
.btn-icon-campaign-toggle { margin-left: 4px; padding: 2px 6px; border: none; background: transparent; cursor: pointer; color: var(--text-muted); }
.btn-icon-campaign-toggle:hover { color: var(--primary); }
.campaign-list-empty { color: var(--text-muted); font-style: italic; text-align: center; padding: 16px !important; }
.campaign-modal-right { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; padding: 20px; background: #fff; }
.campaign-form-hint { margin: 0; padding: 24px; font-size: 0.875rem; color: var(--text-muted); text-align: center; }
.campaign-tabs { display: flex; gap: 2px; margin-bottom: 1rem; flex-shrink: 0; }
.campaign-tabs button { padding: 10px 16px; border: none; background: transparent; cursor: pointer; font-size: 0.875rem; color: var(--text-muted); border-radius: 8px; transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease; }
.campaign-tabs button:hover { color: var(--text-primary); background: rgba(255,255,255,0.6); }
.campaign-tabs button.active { color: #fff; font-weight: 600; background: var(--success); }

/* Sekmeler - steps görünümü, eşit aralıklı */
.campaign-tabs-steps { display: flex; justify-content: space-between; align-items: stretch; gap: 0; background: var(--lighter-gray, #f1f5f9); padding: 6px; border-radius: 12px; position: relative; }
.campaign-tab-step { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 10px 6px; border: none; border-radius: 8px; cursor: pointer; font-size: 0.75rem; font-weight: 500; color: var(--text-muted); background: transparent; transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease; min-width: 0; }
.campaign-tab-step:hover { color: var(--primary); background: rgba(255, 23, 68, 0.06); }
.campaign-tab-step.active { color: #fff; font-weight: 600; background: var(--primary); }
.campaign-tab-num { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; font-size: 0.7rem; font-weight: 700; background: rgba(0,0,0,0.08); color: inherit; }
.campaign-tab-step.active .campaign-tab-num { background: rgba(255,255,255,0.3); }
.campaign-tab-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.campaign-form-loading { padding: 24px; text-align: center; color: var(--text-muted); }
.campaign-tab-panels { display:flex; flex-direction: column; flex: 1; overflow-y: auto; min-height: 0; }
.campaign-panel { padding: 0; }
.campaign-panel-card { background: var(--lighter-gray, #f8fafc); border-radius: 12px; padding: 1rem; margin-bottom: 0; }
.campaign-label { display: block; margin-bottom: 6px; font-size: 0.8rem; font-weight: 600; color: var(--text-secondary, #475569); }
.campaign-hint { font-size: 0.75rem; color: var(--text-muted); margin-left: 8px; }
.campaign-field-hint {
    font-size: 0.75rem;
    color: var(--text-muted, #888);
    margin: 0.35rem 0 0;
    line-height: 1.35;
}
.campaign-form-row { margin-bottom: 18px; }
.campaign-form-row:last-child { margin-bottom: 0; }
.campaign-form-row-inline { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.campaign-form-row-inline .campaign-label { margin-bottom: 0; min-width: 70px; }
.campaign-form-row-multi { display: flex; gap: 20px; flex-wrap: wrap; }
.campaign-form-row-multi > div { min-width: 0; }
.campaign-input { width: 100%; max-width: 320px; padding: 10px 12px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; font-size: 0.875rem; transition: border-color 0.2s; }
.campaign-input:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1); }
.campaign-input-sm { max-width: 90px; }
.campaign-input-time { max-width: 100px; }
.campaign-form-row-switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.campaign-switch-label { font-size: 0.875rem; font-weight: 500; color: var(--text-primary); }
.campaign-form-row-switch .app-switch { margin: 0; }

/* Zaman: tarih/saat satırı */
.campaign-time-inline { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.campaign-time-inline .campaign-input { max-width: 160px; }
.campaign-time-sep { color: var(--text-muted); font-weight: 600; }

/* Zaman: gün seçimi - preset butonları + hafta strip */
.campaign-weekday-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.campaign-weekday-preset-btn { padding: 8px 14px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; background: #fff; font-size: 0.8rem; font-weight: 500; cursor: pointer; color: var(--text-secondary); transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease; }
.campaign-weekday-preset-btn:hover { border-color: var(--success); color: var(--success); background: rgba(76, 175, 80, 0.1); }
.campaign-weekday-preset-clear { color: var(--text-muted); }
.campaign-weekday-preset-clear:hover { color: var(--danger, #dc3545); border-color: var(--danger, #dc3545); background: rgba(220, 53, 69, 0.04); }
.campaign-weekday-strip { display: flex; border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px; overflow: hidden; background: #fff; }
.campaign-weekday-cell { flex: 1; min-width: 0; padding: 12px 8px; border: none; border-right: 1px solid var(--border-color, #e2e8f0); background: #fff; font-size: 0.8rem; font-weight: 600; color: var(--text-muted); cursor: pointer; transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease; }
.campaign-weekday-cell:last-child { border-right: none; }
.campaign-weekday-cell:hover { background: rgba(76, 175, 80, 0.1); color: var(--success); }
.campaign-weekday-cell.on { background: var(--success); color: #fff; }
.campaign-weekday-cell.on:hover { background: var(--primary-second, #c41230); color: #fff; }

/* Kapsam seçimi - yan yana, eşit aralıklı (justify-content: space-between) */
.campaign-scope-switch-row { display: flex; align-items: center; gap: 12px; }
.campaign-scope-switch-row-justify { justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.campaign-scope-switch-item { display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; flex: 1; min-width: 100px; justify-content: center; padding: 10px 12px; border-radius: 10px; background: rgba(0,0,0,0.03); transition: background 0.2s; }
.campaign-scope-switch-item:hover { background: rgba(76, 175, 80, 0.1); }
.campaign-scope-switch-item.active { background: rgba(57, 73, 171, 0.12); box-shadow: inset 0 0 0 2px var(--primary, #3949ab); }
.campaign-scope-switch-item .app-switch { flex-shrink: 0; }
.campaign-scope-switch-label { font-size: 0.8rem; font-weight: 500; color: var(--text-primary); white-space: nowrap; }

/* Tetikleyen / Etkilenen - taşmayı önle, liste sabit yükseklikte kayar */
.campaign-panel-scope { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.campaign-panel-scope .campaign-scope-content { flex: 1; display: flex; flex-direction: column; overflow: hidden; margin-top: 10px; }
.campaign-scope-content .campaign-search-input { flex-shrink: 0; margin-bottom: 8px; }
.campaign-scope-content .campaign-scope-list-inner { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }

/* Arama + liste */
.campaign-search-input { width: 100%; padding: 10px 12px 10px 36px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; font-size: 0.875rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center; }
.campaign-search-input:focus { outline: none; border-color: var(--primary); }
.campaign-scope-list-inner { border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; padding: 6px; background: #fff; }
.campaign-scope-row { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 6px; cursor: pointer; transition: background 0.15s; }
.campaign-scope-row:hover { background: rgba(0,0,0,0.03); }
.campaign-scope-row .app-switch { margin: 0; flex-shrink: 0; }
.campaign-scope-row-text { font-size: 0.875rem; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.campaign-scope-row-meta { color: var(--text-muted); font-size: 0.8rem; }
.campaign-scope-empty, .campaign-scope-loading { margin: 12px; font-size: 0.875rem; color: var(--text-muted); text-align: center; }

/* Aksiyon türü - kartlar */
.campaign-action-type-cards { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.campaign-action-type-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 100px; flex: 1 1 100px; max-width: 140px; min-height: 84px; padding: 10px 8px; border-radius: 12px; border: 2px solid var(--border-color, #cbd5e1); background: var(--lighter-gray, #f8fafc); cursor: pointer; transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease; }
.campaign-action-type-card i { font-size: 1.35rem; color: var(--text-secondary, #475569); }
.campaign-action-type-card span { font-size: 0.8rem; font-weight: 600; color: var(--text-primary, #1e293b); text-align: center; line-height: 1.25; }
.campaign-action-type-card:hover { border-color: var(--success, #4caf50); background: rgba(76, 175, 80, 0.08); box-shadow: 0 2px 8px rgba(76, 175, 80, 0.12); }
.campaign-action-type-card:hover i { color: var(--success, #2e7d32); }
.campaign-action-type-card:hover span { color: var(--text-primary, #1e293b); }
.campaign-action-type-card.active { border-color: var(--success, #4caf50); background: var(--success, #4caf50); box-shadow: 0 4px 14px rgba(76, 175, 80, 0.35); }
.campaign-action-type-card.active i, .campaign-action-type-card.active span { color: #fff; }

.products-admin-campaign-modal .modal-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--border-color, #e2e8f0); background: #fff; border-radius: 0 0 12px 12px; }

.products-admin-content {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.products-admin-hammadde-banner {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    margin: 0;
    padding: 0.7rem 1rem;
    border: none;
    border-bottom: 1px solid rgba(161, 98, 7, 0.28);
    background: linear-gradient(90deg, #fef08a 0%, #fde047 50%, #facc15 100%);
    color: #713f12;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    text-align: center;
    z-index: 2;
}
.products-admin-hammadde-banner i {
    flex-shrink: 0;
    font-size: 1.05rem;
    color: #a16207;
}
.products-admin-hammadde-banner-text {
    min-width: 0;
}
.products-admin-hammadde-banner-cta {
    flex-shrink: 0;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: #713f12;
    color: #fefce8;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}
.products-admin-hammadde-banner:hover {
    background: linear-gradient(90deg, #fde047 0%, #facc15 50%, #eab308 100%);
}
.products-admin-hammadde-banner:hover .products-admin-hammadde-banner-cta {
    background: #422006;
}
.theme-dark .products-admin-hammadde-banner {
    background: linear-gradient(90deg, #854d0e 0%, #a16207 55%, #ca8a04 100%);
    border-bottom-color: rgba(253, 224, 71, 0.35);
    color: #fef9c3;
}
.theme-dark .products-admin-hammadde-banner i {
    color: #fde047;
}
.theme-dark .products-admin-hammadde-banner-cta {
    background: #fef08a;
    color: #422006;
}
.products-admin-layout {
    display: flex;
    flex: 1;
    min-width: 0;
    min-height: 0;
    width: 100%;
    overflow: hidden;
    gap: 1rem;
    padding: 1rem;
}

/* Ürün düzenleme paneli açıkken sol grup listesi gizlenir; liste + panel paylaşır */
.products-admin-layout--panel-open .products-admin-sidebar {
    width: 0;
    min-width: 0;
    max-width: 0;
    padding: 0;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    border: none;
    box-shadow: none;
    transition: width 0.28s ease, min-width 0.28s ease, opacity 0.2s ease;
}

.products-admin-layout--panel-open {
    gap: 0.75rem;
}

.products-admin-layout--panel-open .products-admin-main {
    flex: 1 1 50%;
    min-width: 280px;
}

.products-admin-layout--panel-open .products-admin-detail-wrap {
    flex: 1 1 50%;
    width: auto;
    min-width: 360px;
    max-width: none;
}

.products-admin-layout--panel-open .products-admin-detail,
.products-admin-layout--panel-open .products-admin-detail-slide {
    width: 100%;
    min-width: 0;
    max-width: none;
}

/* Sol panel - Gruplar (kart, sağ panel ile aynı görünüm) */
.products-admin-sidebar {
    width: 360px;
    min-width: 220px;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    background: var(--white, #fff);
    box-shadow: var(--card-shadow, 0 2px 8px rgba(0,0,0,0.08));
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.products-admin-sidebar-title {
    margin: 0 0 0.5rem 0;
    padding: 12px 14px 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    flex-shrink: 0;
}

.products-admin-sidebar-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    background: var(--white, #fff);
    border-radius: 10px 10px 0 0;
}

.products-admin-sidebar-header .products-admin-main-title {
    flex-shrink: 0;
}

.products-admin-sidebar-header .products-admin-search {
    flex: 1;
    min-width: 0;
    padding: 10px 12px 10px 36px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    font-size: 0.875rem;
    background: var(--light-gray, #f5f5f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center;
    transition: border-color 0.2s, background-color 0.2s;
}

.products-admin-sidebar-header .products-admin-search::placeholder {
    color: #999;
}

.products-admin-sidebar-header .products-admin-search:focus {
    outline: none;
    border-color: var(--primary);
    background-color: var(--white, #fff);
}

/* Tüm arama kutuları için temel stil */
.products-admin-search {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    font-size: 0.875rem;
    font-family: inherit;
    padding: 0.45rem 0.75rem;
    background-color: var(--card-bg, #fff);
    color: var(--text-primary, #0f172a);
    box-sizing: border-box;
}
.products-admin-search:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    background-color: var(--white, #fff);
}
.products-admin-search::placeholder {
    color: #94a3b8;
}

.btn-products-admin-add {
    padding: 10px 14px;
    font-size: 0.875rem;
    font-weight: 600;
    background: var(--primary);
    color: var(--white, #fff);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: filter 0.2s, transform 0.1s;
}

.btn-products-admin-add:hover:not(:disabled) {
    filter: brightness(1.08);
}

.btn-products-admin-add:active:not(:disabled) {
    transform: scale(0.98);
}

.btn-products-admin-add:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-products-admin-quick-product {
    padding: 10px 14px;
    font-size: 0.875rem;
    font-weight: 600;
    background: #f5c518;
    color: #1a1a1a;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: filter 0.2s, transform 0.1s;
    flex-shrink: 0;
}

.btn-products-admin-quick-product:hover:not(:disabled) {
    filter: brightness(1.06);
}

.btn-products-admin-quick-product:active:not(:disabled) {
    transform: scale(0.98);
}

.btn-products-admin-quick-product:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-products-admin-quick-product i {
    color: #c99700;
}

.products-admin-shortcut-btn {
    position: relative;
}
.products-admin-shortcut-badge {
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 1;
    font-size: 0.56rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.04em;
    padding: 0.16rem 0.32rem;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    pointer-events: none;
    white-space: nowrap;
    max-width: calc(100% - 6px);
    overflow: hidden;
    text-overflow: ellipsis;
}
.theme-dark .products-admin-shortcut-badge {
    background: rgba(0, 0, 0, 0.72);
}

.btn-products-admin-bundle-product {
    padding: 10px 14px;
    font-size: 0.875rem;
    font-weight: 600;
    background: #dbeafe;
    color: #1e3a8a;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s, border-color 0.2s, transform 0.1s;
    flex-shrink: 0;
}

.btn-products-admin-bundle-product:hover:not(:disabled) {
    background: #bfdbfe;
    border-color: #93c5fd;
}

.btn-products-admin-bundle-product:active:not(:disabled) {
    transform: scale(0.98);
}

.btn-products-admin-bundle-product:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-products-admin-bundle-product i {
    color: #3b82f6;
}

.products-admin-bundle-product-modal {
    max-width: 640px;
    width: min(96vw, 640px);
}

.products-admin-bundle-product-title-icon {
    color: #3b82f6;
    margin-right: 8px;
}

.products-admin-bundle-product-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.products-admin-bundle-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--text-primary, #333);
}

.products-admin-bundle-search {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    font-size: 0.875rem;
    margin-bottom: 8px;
}

.products-admin-bundle-pick-lists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    min-height: 220px;
}

@media (max-width: 560px) {
    .products-admin-bundle-pick-lists {
        grid-template-columns: 1fr;
    }
}

.products-admin-bundle-pick-available,
.products-admin-bundle-pick-selected {
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: #fafafa;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 200px;
}

.products-admin-bundle-pick-available {
    overflow-y: auto;
    max-height: 240px;
}

.products-admin-bundle-pick-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 6px 8px;
    align-items: center;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-bottom: 1px solid #eee;
    background: #fff;
    text-align: left;
    cursor: pointer;
    font-size: 0.82rem;
    transition: background 0.15s;
}

.products-admin-bundle-pick-row:hover {
    background: #eff6ff;
}

.products-admin-bundle-pick-name {
    font-weight: 500;
    color: var(--text-primary, #333);
}

.products-admin-bundle-pick-meta {
    grid-column: 1;
    font-size: 0.75rem;
    color: var(--text-muted, #666);
}

.products-admin-bundle-pick-price {
    font-size: 0.78rem;
    color: var(--text-muted, #666);
    white-space: nowrap;
}

.products-admin-bundle-pick-row i {
    color: #3b82f6;
}

.products-admin-bundle-selected-title {
    padding: 8px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #666);
    border-bottom: 1px solid #eee;
    background: #fff;
}

.products-admin-bundle-selected-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.products-admin-bundle-selected-name {
    flex: 1;
    font-size: 0.82rem;
    font-weight: 500;
}

.products-admin-bundle-remove {
    border: none;
    background: none;
    color: #b91c1c;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
}

.products-admin-bundle-remove:hover {
    background: #fee2e2;
}

.products-admin-bundle-loading,
.products-admin-bundle-empty {
    padding: 12px;
    font-size: 0.8rem;
    color: var(--text-muted, #666);
    text-align: center;
}

.products-admin-bundle-save-btn {
    background: #3b82f6;
    border-color: #3b82f6;
}

.products-admin-bundle-save-btn:hover:not(:disabled) {
    background: #2563eb;
    border-color: #2563eb;
}

.products-admin-product-kind-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    vertical-align: middle;
}

.products-admin-product-kind-badge--bundle {
    background: #dbeafe;
    color: #1d4ed8;
}

.products-admin-product-kind-badge--prep {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.22);
}

.products-admin-product-kind-badge--prep-stocked {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid rgba(34, 197, 94, 0.28);
}

.products-admin-product-list li.products-admin-product-yari-mamul {
    background: linear-gradient(90deg, #fffbeb 0%, #fef9c3 18%, #fffef7 100%);
    border-left: 4px solid #fbbf24;
    box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.14);
}

.products-admin-product-list li.products-admin-product-yari-mamul:hover {
    background: linear-gradient(90deg, #fef3c7 0%, #fde68a 22%, #fffbeb 100%);
}

.products-admin-product-list li.products-admin-product-yari-mamul.active {
    background: linear-gradient(90deg, #fde68a 0%, #fef08a 20%, #fffbeb 100%);
    border-left-color: #f59e0b;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.22);
}

.products-admin-product-list li.products-admin-product-yari-mamul .products-admin-product-name {
    color: #78350f;
    text-decoration: none;
    font-weight: 600;
}

.products-admin-product-list li.products-admin-product-yari-mamul .products-admin-product-price {
    color: #a16207;
    text-decoration: none;
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked {
    background: linear-gradient(90deg, #ecfdf5 0%, #d1fae5 18%, #f0fdf4 100%);
    border-left: 4px solid #34d399;
    box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.16);
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked:hover {
    background: linear-gradient(90deg, #d1fae5 0%, #a7f3d0 22%, #ecfdf5 100%);
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked.active {
    background: linear-gradient(90deg, #a7f3d0 0%, #6ee7b7 20%, #ecfdf5 100%);
    border-left-color: #10b981;
    box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.24);
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked .products-admin-product-name {
    color: #14532d;
    text-decoration: none;
    font-weight: 600;
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked .products-admin-product-price {
    color: #047857;
    text-decoration: none;
}

.products-admin-product-list li.products-admin-product-yari-mamul-stocked .products-admin-product-prep-eye {
    color: #059669;
}

.products-admin-yari-mamul-row-hint {
    display: none;
}

.products-admin-product-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #92400e;
    background: rgba(255, 251, 235, 0.95);
    border: 1px solid #fcd34d;
    vertical-align: middle;
}

.products-admin-product-stock-badge--stocked {
    color: #166534;
    background: rgba(236, 253, 245, 0.95);
    border-color: #86efac;
}

.products-admin-product-prep-eye {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    color: #d97706;
    opacity: 0.9;
}

.products-admin-yari-mamul-block {
    padding: 10px 12px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.products-admin-yari-mamul-stock-line {
    margin: 8px 0 0;
    font-size: 0.88rem;
    color: #475569;
}

.products-admin-yari-mamul-prep-link {
    margin-left: 6px;
    padding: 0;
    vertical-align: baseline;
}

.products-admin-quick-product-modal {
    max-width: 420px;
    width: min(96vw, 420px);
}

.products-admin-quick-barcode {
    margin-top: 0.15rem;
}

.products-admin-quick-barcode-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--primary, #2563eb);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.4;
}

.products-admin-quick-barcode-toggle:hover {
    text-decoration: underline;
}

.products-admin-quick-barcode-toggle i {
    font-size: 0.9em;
}

.hammadde-paket-alis {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: #fff;
}
.hammadde-paket-alis-summary {
    margin-top: 4px;
}
.hammadde-paket-calc-grid--pair {
    grid-template-columns: 1fr 1fr;
}
.hammadde-dual-unit .form-group label.form-label-req,
.hammadde-paket-alis .form-group label.form-label-req {
    display: block;
    margin-bottom: 6px;
    line-height: 1.35;
}
.hammadde-dual-unit .req-mark,
.hammadde-paket-alis .req-mark {
    margin-left: 3px;
    color: var(--primary, #2563eb);
    text-decoration: none;
    font-weight: 600;
    cursor: help;
}
.hammadde-paket-alis .form-group label + .input-price,
.hammadde-paket-alis .form-group label + select {
    margin-top: 0;
}
.hammadde-dual-unit {
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: linear-gradient(135deg, #fffbeb 0%, #f8fafc 100%);
}
.hammadde-dual-unit--compact {
    margin-top: 8px;
    padding: 10px 12px;
}
.hammadde-dual-unit-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.92rem;
    margin-bottom: 6px;
    color: var(--text-primary, #1e293b);
}
.hammadde-dual-unit-head i {
    color: var(--primary, #2563eb);
}
.hammadde-dual-unit-intro {
    margin: 0 0 10px;
    font-size: 0.82rem;
}
.hammadde-dual-unit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.hammadde-dual-unit-preview {
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(37, 99, 235, 0.08);
    font-size: 0.84rem;
    color: var(--text-secondary, #475569);
}
.hammadde-dual-unit-preview strong {
    color: var(--primary, #2563eb);
}
@media (max-width: 520px) {
    .hammadde-dual-unit-grid {
        grid-template-columns: 1fr;
    }
}

.hammadde-paket-calc {
    margin-top: 10px;
    border: 1px dashed var(--border-color, #cbd5e1);
    border-radius: 8px;
    background: #f8fafc;
    overflow: hidden;
}
.hammadde-paket-calc--embedded {
    margin-top: 12px;
}
.hammadde-paket-calc-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    background: transparent;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--primary, #2563eb);
    cursor: pointer;
    text-align: left;
}
.hammadde-paket-calc-toggle:hover {
    background: rgba(37, 99, 235, 0.06);
}
.hammadde-paket-calc-body {
    padding: 0 12px 12px;
    border-top: 1px solid rgba(0,0,0,0.06);
}
.hammadde-paket-calc-body .form-hint-muted {
    margin: 10px 0 8px;
    font-size: 0.82rem;
}
.hammadde-paket-calc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.hammadde-paket-calc-grid .form-group {
    margin-bottom: 0;
}
.hammadde-paket-calc-grid label {
    font-size: 0.78rem;
}
.hammadde-paket-calc-target {
    margin: 8px 0 4px;
    font-size: 0.82rem;
    color: var(--text-muted, #64748b);
}
.hammadde-paket-calc-result {
    margin: 8px 0;
    font-size: 0.9rem;
    color: var(--text-primary, #1e293b);
}
.hammadde-paket-calc-result .text-muted {
    font-size: 0.8rem;
    color: var(--text-muted, #64748b);
}
@media (max-width: 520px) {
    .hammadde-paket-calc-grid {
        grid-template-columns: 1fr;
    }
}

.products-admin-quick-product-title-icon {
    color: #c99700;
    margin-right: 0.35rem;
}

.products-admin-quick-product-overlay {
    z-index: 10025;
}

.products-admin-group-move-hint {
    color: #b45309;
    margin-top: 0.35rem;
}

.btn-products-admin-sort {
    padding: 10px 12px;
    font-size: 0.875rem;
    border-radius: 8px;
    border: 1px solid var(--border-color, #e0e0e0);
    background: var(--white, #fff);
    color: var(--text-primary, #333);
    cursor: pointer;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-products-admin-sort:hover:not(:disabled) {
    border-color: var(--primary);
    color: var(--primary);
}

.btn-products-admin-sort:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.products-admin-sort-all-label {
    font-size: 0.7rem;
    font-weight: 700;
    margin-left: 0.15rem;
}

.products-admin-main-header .btn-products-admin-sort {
    padding: 8px 10px;
}

.products-admin-alpha-sort-modal {
    max-width: 520px;
    width: min(96vw, 520px);
}

.products-admin-alpha-sort-modal .modal-body {
    max-height: min(70vh, 520px);
    overflow-y: auto;
}

.products-admin-alpha-sort-lead {
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
    margin: 0 0 1rem;
}

.products-admin-alpha-sort-section {
    margin-bottom: 1.25rem;
}

.products-admin-alpha-sort-section h3 {
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.products-admin-alpha-sort-list {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.85rem;
    line-height: 1.45;
}

.products-admin-alpha-sort-list--compact {
    max-height: 8rem;
    overflow-y: auto;
}

.products-admin-image-modal.modal-content {
    max-height: min(90vh, 620px);
}

.products-admin-image-modal > .modal-body {
    flex: 1;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    padding: 1.25rem 1.5rem 1.5rem;
}

.products-admin-image-modal > .modal-body:not(.products-admin-image-modal-body--google) {
    overflow-y: auto;
}

.products-admin-image-modal-body--google {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.products-admin-image-modal-body--google > .form-group,
.products-admin-image-modal-body--google > .form-error,
.products-admin-image-modal-body--google > .products-admin-loading {
    flex-shrink: 0;
}

.products-admin-image-google-scroll {
    flex: 1 1 auto;
    min-height: 10rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 0.25rem;
    padding-right: 2px;
}

.products-admin-image-modal {
    max-width: 520px;
    width: min(96vw, 520px);
}

.products-admin-image-google-more {
    margin: 0.75rem 0 0;
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-secondary, #64748b);
}

.products-admin-image-google-more-btn {
    display: block;
    width: 100%;
    margin-top: 0.75rem;
}

.products-admin-image-source-lead {
    margin: 0 0 1.25rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-secondary, #64748b);
    text-align: center;
}

.products-admin-image-source-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.products-admin-image-source-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 9.5rem;
    padding: 1.25rem 0.75rem;
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    background: var(--white, #fff);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
    text-align: center;
}

.products-admin-image-source-card:hover:not(:disabled):not(.is-disabled) {
    border-color: var(--primary, #2563eb);
    background: color-mix(in srgb, var(--primary, #2563eb) 6%, var(--white, #fff));
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.15);
    transform: translateY(-2px);
}

.products-admin-image-source-card:focus-visible {
    outline: 2px solid var(--primary, #2563eb);
    outline-offset: 2px;
}

.products-admin-image-source-card.is-disabled,
.products-admin-image-source-card:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.products-admin-image-source-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    font-size: 1.35rem;
    line-height: 1;
}

.products-admin-image-source-icon--local {
    background: color-mix(in srgb, var(--primary, #2563eb) 12%, transparent);
    color: var(--primary, #2563eb);
}

.products-admin-image-source-icon--google {
    background: color-mix(in srgb, #ea4335 12%, transparent);
    color: #ea4335;
}

.products-admin-image-source-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary, #1e293b);
    line-height: 1.25;
}

.products-admin-image-source-desc {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-secondary, #64748b);
    line-height: 1.35;
    max-width: 11rem;
}

@media (max-width: 420px) {
    .products-admin-image-source-grid {
        grid-template-columns: 1fr;
    }
    .products-admin-image-source-card {
        min-height: 7.5rem;
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
        padding: 1rem;
        gap: 0.85rem;
    }
    .products-admin-image-source-icon {
        flex-shrink: 0;
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1.15rem;
    }
    .products-admin-image-source-desc {
        max-width: none;
    }
}

.products-admin-image-search-row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}

.products-admin-image-search-row .form-control {
    flex: 1;
    min-width: 0;
}

.products-admin-image-google-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.products-admin-image-google-tile {
    aspect-ratio: 1;
    padding: 0;
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    overflow: hidden;
    background: var(--light-gray, #f5f5f5);
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.products-admin-image-google-tile:hover:not(:disabled) {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.products-admin-image-google-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.products-admin-list-wrap {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.products-admin-quick-create {
    padding: 0.25rem;
    flex-shrink: 0;
    background: var(--white, #fff);
    border-bottom: 1px solid var(--border-color, #eee);
}

.products-admin-quick-create--product {
    border-bottom: 1px solid var(--border-color, #eee);
}

.products-admin-quick-create-btn {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    text-align: left;
    padding: 10px 12px;
    border: 1px dashed color-mix(in srgb, var(--success, #4caf50) 55%, var(--border-color, #ccc));
    border-radius: 8px;
    background: color-mix(in srgb, var(--success, #4caf50) 8%, var(--white, #fff));
    color: var(--text-primary, #333);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.products-admin-quick-create-btn:hover {
    background: color-mix(in srgb, var(--success, #4caf50) 14%, var(--white, #fff));
    border-color: var(--success, #4caf50);
}

.products-admin-quick-create-btn i {
    margin-top: 2px;
    color: var(--success, #4caf50);
    flex-shrink: 0;
}

.products-admin-quick-create-hint {
    margin: 6px 2px 0;
    font-size: 0.72rem;
    color: var(--text-muted, #6c757d);
    font-weight: 500;
}

.products-admin-group-list,
.products-admin-product-list {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
}

.products-admin-group-list li,
.products-admin-product-list li {
    padding: 0.5rem;
    cursor: pointer;
    border-left: 3px solid transparent;
    border-bottom: 1px solid var(--border-color, #eee);
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: background 0.15s, border-color 0.15s;
    margin: 0 6px;
    border-radius: 4px;
}

.products-admin-group-list li:last-child,
.products-admin-product-list li:last-child {
    border-bottom: none;
}

.products-admin-group-list li:hover,
.products-admin-product-list li:hover {
    background: rgba(0,0,0,0.04);
}

.products-admin-group-list li.active,
.products-admin-product-list li.active {
    font-weight: 500;
    border-left-color: var(--success);
    background-color: rgba(76, 175, 80, 0.1);
}

/* Sürükle-bırak: bırakılacak aralık göstergesi */
.products-admin-group-list li {
    position: relative;
}

.products-admin-group-list li.products-admin-drop-before::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: var(--primary, #e91e63);
    border-radius: 2px;
    z-index: 2;
    pointer-events: none;
}

.products-admin-group-list li.products-admin-drop-after::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--primary, #e91e63);
    border-radius: 2px;
    z-index: 2;
    pointer-events: none;
}

.products-admin-group-list li.products-admin-drop-onto {
    outline: 2px solid var(--primary, #e91e63);
    outline-offset: -2px;
    background: rgba(233, 30, 99, 0.08);
}

.products-admin-product-list li {
    position: relative;
}

.products-admin-product-list li.products-admin-drop-before::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: var(--primary, #e91e63);
    border-radius: 2px;
    z-index: 2;
    pointer-events: none;
}

.products-admin-product-list li.products-admin-drop-after::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--primary, #e91e63);
    border-radius: 2px;
    z-index: 2;
    pointer-events: none;
}

.products-admin-product-list li.products-admin-product-dragging {
    opacity: 0.6;
}

.products-admin-product-list.products-admin-reorderable > li {
    cursor: default;
}

.products-admin-product-col-grip {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    flex-shrink: 0;
    color: var(--text-muted, #999);
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.products-admin-product-col-grip:active {
    cursor: grabbing;
}

.products-admin-product-list.products-admin-reorderable .products-admin-product-row {
    grid-template-columns: 22px 52px minmax(140px, 1fr) minmax(60px, 250px) minmax(64px, 90px);
}

/* Hammadde modu: göz sütunu yok — grid 3 sütun (+ sürükle tutamacı) */
.products-admin-product-list.products-admin-product-list--hammadde .products-admin-product-row {
    grid-template-columns: minmax(160px, 1fr) minmax(72px, 120px) minmax(64px, 90px);
}
.products-admin-product-list.products-admin-product-list--hammadde.products-admin-reorderable .products-admin-product-row {
    grid-template-columns: 22px minmax(160px, 1fr) minmax(72px, 120px) minmax(64px, 90px);
}
.products-admin-product-col-meta--hammadde {
    justify-content: flex-start;
}

.products-admin-group-name {
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    color: var(--text-primary, #333);
}

.products-admin-product-name {
    font-size: 0.9rem;
    line-height: 1.3;
    color: var(--text-primary, #333);
}

.products-admin-group-meta-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 6px 12px;
    margin-top: 2px;
}

.products-admin-group-meta {
    font-size: 0.72rem;
    color: var(--text-muted, #666);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.products-admin-group-meta i {
    font-size: 0.7rem;
    opacity: 0.85;
    flex-shrink: 0;
}

.products-admin-product-price {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary);
}

.products-admin-loading,
.products-admin-empty {
    padding: 20px 14px;
    color: var(--text-muted, #666);
    font-size: 0.875rem;
    text-align: center;
}

/* Sağ panel - Ürünler (kart, sol panel ile aynı görünüm) - liste en sağa kadar uzanır */
.products-admin-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    background: var(--white, #fff);
    overflow: hidden;
    border-radius: 10px;
    box-shadow: var(--card-shadow, 0 2px 8px rgba(0,0,0,0.08));
}

.products-admin-main-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    display: flex;
    gap: 12px;
    align-items: center;
    flex-shrink: 0;
    background: var(--white, #fff);
    border-radius: 10px 10px 0 0;
}

.products-admin-search-field {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.2rem;
}

.products-admin-search-all-hint {
    align-self: flex-start;
    border: 0;
    background: transparent;
    color: var(--primary, #2563eb);
    font-size: 0.78rem;
    font-weight: 650;
    cursor: pointer;
    padding: 0 0.15rem;
    text-align: left;
}

.products-admin-search-all-hint:hover {
    text-decoration: underline;
}

.products-admin-main-title {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #666);
    flex-shrink: 0;
}

.products-admin-main-header .products-admin-search {
    flex: none;
    width: 100%;
    min-width: 0;
    padding: 10px 12px 10px 36px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    font-size: 0.875rem;
    background: var(--light-gray, #f5f5f5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") no-repeat 12px center;
    transition: border-color 0.2s, background-color 0.2s;
}

.products-admin-main-header .products-admin-search::placeholder {
    color: #999;
}

.products-admin-main-header .products-admin-search:focus {
    outline: none;
    border-color: var(--primary);
    background-color: var(--white, #fff);
}

.products-admin-main-body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    min-width: 0;
    width: 100%;
}

.products-admin-empty-state {
    padding: 48px 24px;
    text-align: center;
    color: var(--text-muted, #666);
    font-size: 0.95rem;
    line-height: 1.5;
}

.products-admin-empty-state::before {
    content: "";
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: var(--light-gray, #eee);
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

/* Ürün satırları - tek satır: ad + göz + fiyat */
.products-admin-product-list li {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 8px 10px;
}

/* Ürün ismi her zaman görünsün; daralınca fiyat ve yazıcı sütunları küçülsün */
.products-admin-product-row {
    display: grid;
    grid-template-columns: 52px minmax(140px, 1fr) minmax(60px, 250px) minmax(64px, 90px);
    align-items: center;
    gap: 12px 16px;
    width: 100%;
    min-width: 0;
}
.products-admin-product-col-eye {
    flex-shrink: 0;
    width: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.1rem;
}

.products-admin-product-col-name {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    overflow: hidden;
    flex-wrap: wrap;
}

.products-admin-product-row .products-admin-product-name {
    min-width: 0;
    font-size: 0.9rem;
    line-height: 1.3;
    color: var(--text-primary, #333);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-admin-product-group-badge {
    font-size: 0.7rem;
    font-weight: 650;
    color: var(--text-muted, #6b7280);
    background: var(--light-gray, #f3f4f6);
    border-radius: 999px;
    padding: 0.12rem 0.45rem;
    white-space: nowrap;
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.products-admin-mix-links {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.products-admin-mix-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--primary, #c45c26);
    cursor: pointer;
    font-size: 0.78rem;
    opacity: 0.88;
    flex-shrink: 0;
}

.products-admin-mix-link:hover,
.products-admin-mix-link:focus-visible {
    background: rgba(196, 92, 38, 0.14);
    opacity: 1;
    outline: none;
}

.products-admin-product-col-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-width: 0;
    overflow: hidden;
}

.products-admin-product-col-meta .products-admin-group-meta {
    flex-shrink: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.products-admin-product-col-price {
    min-width: 64px;
    flex-shrink: 1;
    text-align: right;
}

.products-admin-product-col-actions {
    flex-shrink: 0;
    margin-left: 0.5rem;
}

.products-admin-product-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-muted, #888);
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}

.products-admin-product-delete-btn:hover {
    color: var(--danger, #dc3545);
    background: rgba(220, 53, 69, 0.1);
}

.products-admin-product-list li.product-unavailable .products-admin-product-name {
    color: var(--text-muted, #888);
    text-decoration: line-through;
}

.products-admin-product-eye {
    flex-shrink: 0;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

.products-admin-product-eye:hover {
    background: rgba(0,0,0,0.06);
}

.products-admin-product-eye.eye-active {
    color: #2e7d32;
}

.products-admin-product-eye.eye-inactive {
    color: #9e9e9e;
}

.products-admin-product-eye.eye-inactive i {
    text-decoration: line-through;
}
.products-admin-product-eye--disabled {
    cursor: default;
    opacity: 0.45;
}
.products-admin-product-eye--disabled:hover {
    background: transparent;
}

.products-admin-product-row .products-admin-product-price {
    flex-shrink: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--primary);
}

.products-admin-product-list li.product-unavailable .products-admin-product-price {
    color: var(--text-muted, #999);
}

/* Porsiyon / Özellik sekmeleri - Genel form ile aynı görünüm */
.products-admin-portion-property-pane {
    padding: 12px 14px;
}
.products-admin-portion-property-pane .products-admin-pane-hint {
    font-size: 0.8rem;
    color: var(--text-muted, #666);
    margin-bottom: 1rem;
    line-height: 1.4;
}
.products-admin-portion-property-pane input[type="text"],
.products-admin-portion-property-pane input[type="number"] {
    padding: 8px 10px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.875rem;
    background: var(--white, #fff);
}
.products-admin-portion-property-pane input[type="text"]:focus,
.products-admin-portion-property-pane input[type="number"]:focus {
    outline: none;
    border-color: var(--primary, #e0143a);
}
.products-admin-portion-property-pane .form-group { margin-top: 1rem; }

/* Sürükle tutamacı */
.products-admin-drag-handle {
    flex-shrink: 0;
    width: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted, #999);
    cursor: grab;
    font-size: 0.75rem;
}
.products-admin-drag-handle:active {
    cursor: grabbing;
}
.products-admin-portion-row[draggable="true"]:hover,
.products-admin-property-group[draggable="true"]:hover,
.products-admin-option-row[draggable="true"]:hover {
    outline: 1px dashed var(--border-color, #ddd);
}

/* Varsayılan porsiyon tek seçim */
.products-admin-portion-default-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding: 8px 0;
}
.products-admin-portion-default-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #555);
    white-space: nowrap;
    flex-shrink: 0;
}
.products-admin-portion-default-select {
    flex: 1;
    min-width: 0;
    max-width: 200px;
    padding: 6px 10px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.875rem;
    background: var(--white, #fff);
}

.products-admin-portion-modal-required {
    margin: 0 0 12px;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--surface-muted, #f8f9fa);
    border: 1px solid var(--border-color, #e5e7eb);
}

.products-admin-portion-templates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.products-admin-portion-template-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 140px;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 8px;
    background: var(--white, #fff);
    color: var(--text, #333);
    cursor: pointer;
    text-align: left;
    transition: background 0.15s, border-color 0.15s, opacity 0.15s;
}

.products-admin-portion-template-btn:hover:not(:disabled) {
    border-color: var(--primary, #2563eb);
    background: rgba(37, 99, 235, 0.06);
}

.products-admin-portion-template-btn.is-added,
.products-admin-portion-template-btn:disabled {
    opacity: 0.55;
    cursor: default;
    background: var(--surface-muted, #f3f4f6);
}

.products-admin-portion-template-btn-title {
    font-size: 0.82rem;
    font-weight: 600;
}

.products-admin-portion-template-btn-sub {
    font-size: 0.72rem;
    color: var(--text-muted, #666);
    line-height: 1.3;
}

/* Porsiyon satırı */
.products-admin-portion-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.products-admin-portion-default {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
    font-weight: normal;
    font-size: 0.8rem;
    color: var(--text-muted, #666);
    flex-shrink: 0;
}
.products-admin-portion-default input[type="radio"] {
    margin: 0;
    cursor: pointer;
}
.products-admin-portion-name-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
}
.products-admin-portion-name-wrap .portion-name {
    width: 100%;
}
.products-admin-portion-row .portion-name {
    min-width: 0;
}
.products-admin-portion-row .portion-price {
    width: 88px;
    text-align: right;
}
.products-admin-auto-add-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
    overflow: visible;
}
.products-admin-auto-add-search {
    flex: 1 1 220px;
    min-width: 180px;
    position: relative;
}
.products-admin-auto-add-search .auto-add-search {
    width: 100%;
}
.products-admin-auto-add-row .auto-add-qty {
    width: 72px;
    text-align: center;
}
.products-admin-auto-add-row .auto-add-price {
    width: 100px;
    text-align: right;
}
.products-admin-auto-add-row .auto-add-hint {
    flex: 1 1 160px;
    font-size: 0.78rem;
    color: var(--text-muted, #666);
    min-width: 140px;
}
.products-admin-mix-price-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    white-space: nowrap;
}
.products-admin-mix-price-switch .app-switch-label {
    font-size: 0.78rem;
    color: var(--text-muted, #666);
}
.products-admin-mix-head {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border-color, #ececec);
}
.products-admin-mix-head-field {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.products-admin-mix-head-field label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted, #666);
    line-height: 1.2;
}
.products-admin-mix-head-field input {
    width: 100%;
    box-sizing: border-box;
}
.products-admin-mix-head-switches {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 1.25rem;
    min-height: 36px;
    padding-bottom: 1px;
}
.products-admin-mix-switch-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: default;
}
.products-admin-mix-switch-label {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-primary, #333);
    white-space: nowrap;
    line-height: 1;
}
.products-admin-mix-switch-item .app-switch {
    flex-shrink: 0;
    margin: 0;
    cursor: pointer;
}
.products-admin-mix-limits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem 0.85rem;
    margin-bottom: 0.9rem;
}
.products-admin-mix-limit-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.products-admin-mix-limit-field label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted, #666);
    line-height: 1.2;
}
.products-admin-mix-limit-field input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.products-admin-mix-options-wrap {
    width: 100%;
    min-width: 0;
    overflow: visible;
}
.products-admin-mix-options-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 56px 56px 56px;
    gap: 8px;
    padding: 0 2px 6px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted, #888);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.products-admin-mix-h-qty {
    text-align: center;
}
.products-admin-mix-option-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color, #e8e8e8);
}
.products-admin-mix-option-card.is-mix-highlight {
    background: rgba(196, 92, 38, 0.12);
    box-shadow: inset 3px 0 0 var(--primary, #c45c26);
    border-radius: 6px;
    padding-left: 8px;
    padding-right: 8px;
}
.products-admin-mix-option-main {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 56px 56px 56px;
    gap: 8px;
    align-items: center;
    width: 100%;
    min-width: 0;
}
.products-admin-mix-col-name {
    min-width: 0;
    position: relative;
}
.products-admin-mix-col-name .auto-add-search,
.products-admin-mix-col-disp {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.products-admin-mix-col-qty {
    width: 100%;
    min-width: 0;
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
    box-sizing: border-box;
}
.products-admin-mix-option-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}
.products-admin-mix-price-switch {
    display: inline-flex;
    align-items: center;
    margin: 0;
    cursor: pointer;
}
.products-admin-mix-option-meta .app-switch--mini {
    width: 36px;
    height: 20px;
}
.products-admin-mix-child-price-hint {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    white-space: nowrap;
    min-width: 4.5rem;
}
.products-admin-mix-child-price-hint.is-off {
    opacity: 0.4;
    font-weight: 500;
}
.products-admin-mix-option-meta .btn-icon-portion {
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.products-admin-mix-child-price-modal {
    width: min(380px, 94vw);
}
@media (max-width: 720px) {
    .products-admin-mix-options-head {
        display: none;
    }
    .products-admin-mix-option-main {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "name name"
            "disp disp"
            "def min"
            "max .";
    }
    .products-admin-mix-col-name { grid-area: name; }
    .products-admin-mix-col-disp { grid-area: disp; }
    .products-admin-mix-option-main > .products-admin-mix-col-qty:nth-child(3) { grid-area: def; }
    .products-admin-mix-option-main > .products-admin-mix-col-qty:nth-child(4) { grid-area: min; }
    .products-admin-mix-option-main > .products-admin-mix-col-qty:nth-child(5) { grid-area: max; }
}
@media (max-width: 640px) {
    .products-admin-mix-head {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    .products-admin-mix-head-switches {
        min-height: 0;
        padding-bottom: 0;
        justify-content: flex-start;
    }
    .products-admin-mix-limits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.btn-icon-portion {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    background: var(--white, #fff);
    color: var(--text-muted, #888);
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.btn-icon-portion:hover {
    color: var(--danger, #c00);
    border-color: var(--danger, #c00);
    background: rgba(200, 0, 0, 0.05);
}
.btn-portion-recipe {
    color: var(--text-muted, #888);
}
.btn-portion-recipe:hover {
    color: var(--primary, #2563eb);
    border-color: var(--primary, #2563eb);
    background: rgba(37, 99, 235, 0.06);
}
/* Reçetesi tanımlı porsiyon — yeşil kap/havan */
.btn-portion-recipe--active {
    color: #1b5e20;
    border-color: #2e7d32;
    background: rgba(46, 125, 50, 0.14);
}
.btn-portion-recipe--active:hover {
    color: #fff;
    border-color: #1b5e20;
    background: #2e7d32;
}
.theme-dark .btn-portion-recipe--active {
    color: #c8e6c9;
    border-color: #66bb6a;
    background: rgba(102, 187, 106, 0.22);
}

/* Porsiyon / Özellik "Ekle" butonları */
.products-admin-portion-property-pane .btn-add-row {
    width: 100%;
    padding: 10px 14px;
    margin-bottom: 12px;
    border: 1px dashed var(--border-color, #ccc);
    border-radius: 6px;
    background: var(--light-gray, #f8f8f8);
    color: var(--text-secondary, #555);
    font-size: 0.875rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.products-admin-portion-property-pane .btn-add-row:hover {
    border-color: var(--primary);
    background: rgba(224, 20, 58, 0.06);
    color: var(--primary);
}

/* Özellik grubu kutusu */
.products-admin-property-group {
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 14px;
    background: var(--light-gray, #fafafa);
}
.products-admin-property-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.products-admin-property-toolbar .products-admin-pane-hint {
    margin: 0;
    flex: 1;
}
.products-admin-property-group--global {
    border-color: #90caf9;
    background: linear-gradient(180deg, #f3f9ff 0%, var(--light-gray, #fafafa) 48%);
}
.products-admin-property-group--global-idle {
    opacity: 0.72;
    border-style: dashed;
    background: #f5f5f5;
}
.products-admin-global-badge {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #0d47a1;
    background: #bbdefb;
    padding: 0.12rem 0.35rem;
    border-radius: 3px;
    line-height: 1.2;
}
.products-admin-global-idle-name {
    flex: 1;
    font-weight: 600;
}
.products-admin-global-idle-opts {
    font-size: 0.78rem;
    margin-top: 4px;
}
.products-admin-global-warn {
    margin: 0 0 8px;
    font-size: 0.78rem;
    color: #1565c0;
}
.products-admin-global-available {
    margin-bottom: 14px;
}
.products-admin-global-available-title {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-muted, #666);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.products-admin-global-prop-modal {
    width: min(520px, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}
.products-admin-global-prop-modal .modal-body.products-admin-global-prop-body {
    max-height: min(68vh, 620px);
    overflow: auto;
    flex: 1 1 auto;
}
.products-admin-global-prop-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-shrink: 0;
}
.products-admin-global-prop-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.products-admin-global-prop-list > .btn {
    align-self: flex-start;
    margin-top: 12px;
}
.products-admin-global-prop-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--border-color, #eee);
}
.products-admin-global-prop-row-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.products-admin-global-prop-row-main strong {
    font-size: 0.95rem;
}
.products-admin-global-prop-row-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.products-admin-global-prop-edit {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.products-admin-global-prop-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.products-admin-global-prop-field label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted, #666);
}
.products-admin-global-prop-field input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border-color, #d0d0d0);
    border-radius: 6px;
    font-size: 0.95rem;
    background: var(--input-bg, #fff);
    color: var(--text-color, #222);
}
.products-admin-global-prop-field input:focus {
    outline: none;
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.15);
}
.products-admin-global-prop-switches {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    padding: 10px 12px;
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    background: var(--light-gray, #fafafa);
}
.products-admin-global-prop-switches .app-switch-row {
    border-bottom: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}
.products-admin-global-prop-max {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.products-admin-global-prop-max label {
    font-size: 0.8rem;
    color: var(--text-secondary, #555);
    margin: 0;
    white-space: nowrap;
}
.products-admin-global-prop-max input {
    width: 72px;
    box-sizing: border-box;
    padding: 0.35rem 0.45rem;
    border: 1px solid var(--border-color, #d0d0d0);
    border-radius: 6px;
    text-align: right;
    background: var(--input-bg, #fff);
}
.products-admin-global-prop-opts-head {
    display: grid;
    grid-template-columns: 1fr 96px 36px;
    gap: 8px;
    padding: 0 2px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #777);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.products-admin-global-prop-opts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.products-admin-global-prop-opt-row {
    display: grid;
    grid-template-columns: 1fr 96px 36px;
    gap: 8px;
    align-items: center;
}
.products-admin-global-prop-opt-row input {
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--border-color, #d0d0d0);
    border-radius: 6px;
    font-size: 0.9rem;
    background: var(--input-bg, #fff);
    color: var(--text-color, #222);
}
.products-admin-global-prop-opt-row input:focus {
    outline: none;
    border-color: var(--primary, #1976d2);
    box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.15);
}
.products-admin-global-prop-opt-row input[inputmode="decimal"] {
    text-align: right;
}
.products-admin-global-prop-opt-row .btn-icon-option {
    justify-self: center;
}
.products-admin-global-prop-add-opt {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.4rem 0.75rem;
    border: 1px dashed var(--border-color, #c8c8c8);
    border-radius: 6px;
    background: transparent;
    color: var(--primary, #1976d2);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}
.products-admin-global-prop-add-opt:hover {
    background: rgba(25, 118, 210, 0.06);
    border-color: var(--primary, #1976d2);
}
.theme-dark .products-admin-global-prop-field input,
.theme-dark .products-admin-global-prop-opt-row input,
.theme-dark .products-admin-global-prop-max input {
    background: var(--input-bg, #1e1e1e);
    border-color: var(--border-color, #444);
    color: var(--text-color, #eee);
}
.theme-dark .products-admin-global-prop-switches {
    background: rgba(255, 255, 255, 0.04);
}
@media (max-width: 480px) {
    .products-admin-global-prop-switches {
        flex-direction: column;
        align-items: stretch;
    }
    .products-admin-global-prop-max {
        margin-left: 0;
        justify-content: space-between;
    }
    .products-admin-global-prop-opts-head,
    .products-admin-global-prop-opt-row {
        grid-template-columns: 1fr 80px 32px;
    }
}
.products-admin-property-group-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.products-admin-property-group-head .input-group-name {
    flex: 1;
    min-width: 0;
    font-weight: 600;
}
.products-admin-property-group[draggable="true"] {
    cursor: move;
}
.btn-icon-property {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    background: var(--white, #fff);
    color: var(--text-muted, #888);
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.btn-icon-property:hover {
    color: var(--danger, #c00);
    border-color: var(--danger, #c00);
    background: rgba(200, 0, 0, 0.05);
}
.products-admin-property-switches {
    margin-bottom: 10px;
}
.products-admin-property-switches .app-switch-row {
    border-bottom: none;
    padding: 4px 0;
}
.products-admin-property-switches .app-switch-row + .app-switch-row {
    margin-top: 2px;
}
.products-admin-max-selections-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border-color, #eee);
}
.products-admin-max-selections-label {
    font-size: 0.8rem;
    color: var(--text-secondary, #555);
    margin: 0;
    white-space: nowrap;
}
.products-admin-portion-property-pane .input-max-selections {
    width: 72px;
    text-align: right;
}
.products-admin-options-list {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border-color, #eee);
    overflow-x: auto;
}
.products-admin-option-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px 10px;
    margin-bottom: 10px;
    min-width: 0;
}
.products-admin-option-name-wrap {
    flex: 1 1 0;
    min-width: 90px;
    position: relative;
}
.products-admin-option-name-wrap .opt-name {
    width: 100%;
}
.products-admin-option-row .opt-name {
    min-width: 0;
}
.products-admin-option-linked {
    flex: 1 1 0;
    min-width: 100px;
    position: relative;
}
.products-admin-option-linked .opt-linked-search {
    width: 100%;
}
.products-admin-option-row .opt-linked-qty {
    width: 56px;
    flex-shrink: 0;
}
.products-admin-option-row .opt-price {
    width: 72px;
    flex-shrink: 0;
    text-align: right;
}
.products-admin-option-row .opt-linked-qty:disabled {
    opacity: 0.45;
}
/* Ürünler paneli Select2 benzeri dropdown (Ekler / Seçim / özellik önerileri) */
.products-admin-portion-property-pane .select2-wrap {
    position: relative;
}
.products-admin-portion-property-pane .select2-wrap.dropdown-open {
    z-index: 10020;
}
.products-admin-select2-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    margin-top: 2px;
    min-width: calc(100% + 2.5rem);
    width: max(100%, 300px);
    max-width: min(520px, 96vw);
    background: var(--white);
    border: 1px solid var(--medium-gray, #ddd);
    border-radius: var(--border-radius, 6px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
    z-index: 10030;
    max-height: 240px;
    overflow-y: auto;
}
.products-admin-select2-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
}
.products-admin-select2-dropdown ul li {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.35;
    transition: background 0.15s;
    white-space: normal;
    word-break: break-word;
}
.products-admin-select2-dropdown ul li:hover {
    background: rgba(224, 20, 58, 0.08);
    color: var(--primary);
}
.products-admin-select2-dropdown ul li.muted {
    color: var(--text-muted);
    cursor: default;
}
.products-admin-picker-empty {
    margin: 0;
    padding: 0.65rem 0.75rem;
    font-size: 0.82rem;
}
.btn-icon-option {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 4px;
    background: var(--white, #fff);
    color: var(--text-muted, #888);
    cursor: pointer;
    font-size: 0.75rem;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.btn-icon-option:hover {
    color: var(--danger, #c00);
    border-color: var(--danger, #c00);
    background: rgba(200, 0, 0, 0.05);
}
.products-admin-portion-property-pane .btn-add-option {
    padding: 6px 12px;
    margin-top: 4px;
    border: 1px dashed var(--border-color, #ccc);
    border-radius: 4px;
    background: var(--white, #fff);
    color: var(--text-muted, #666);
    font-size: 0.8rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: border-color 0.2s, color 0.2s;
}
.products-admin-portion-property-pane .btn-add-option:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.products-admin-portion-property-pane .btn-primary {
    margin-top: 8px;
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 0.875rem;
}

/* Sağ panel - Detay */
.products-admin-detail {
    width: 440px;
    min-width: 360px;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    background: var(--white, #fff);
    box-shadow: -2px 0 8px rgba(0,0,0,0.06);
    overflow: hidden;
    flex-shrink: 0;
}

.products-admin-detail-tabs {
    display: flex;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    padding: 0 8px;
    gap: 4px;
    flex-shrink: 0;
    background: var(--light-gray, #f8f8f8);
}

.products-admin-detail-tabs button {
    padding: 10px 14px;
    font-size: 0.8rem;
    font-weight: 500;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--text-muted, #666);
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    border-radius: 6px 6px 0 0;
    transition: color 0.2s, background 0.2s;
}

.products-admin-detail-tabs button:hover {
    color: var(--text-primary, #333);
    background: rgba(255,255,255,0.6);
}

.products-admin-detail-tabs button.active {
    color: var(--primary);
    font-weight: 600;
    background: var(--white, #fff);
    border-bottom-color: var(--primary);
}

.products-admin-detail-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    min-height: 0;
}

/* Ürün paneli kayarak açılsın */
/* Panel sağdan sola kayarak açılsın; wrapper overflow ile animasyon sadece panelde */
.products-admin-detail-wrap {
    flex: 0 0 420px;
    width: 420px;
    min-width: 420px;
    overflow: hidden;
    display: flex;
}

.products-admin-detail-slide {
    animation: products-detail-slide-in 0.28s ease-out;
    width: 420px;
    min-width: 420px;
    flex-shrink: 0;
}

@keyframes products-detail-slide-in {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.products-admin-detail-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    min-height: 0;
}

.products-admin-detail-footer {
    flex-shrink: 0;
    padding: 12px 16px;
    border-top: 1px solid var(--border-color, #e0e0e0);
    background: var(--white, #fff);
    display: flex;
    align-items: center;
    gap: 10px;
}
.products-admin-detail-footer .products-admin-panel-delete {
    margin-right: auto;
    background: var(--danger, #dc3545) !important;
    color: #fff !important;
    border-color: var(--danger, #dc3545) !important;
}
.products-admin-detail-footer .products-admin-panel-delete:hover:not(:disabled) {
    background: #c82333 !important;
    border-color: #bd2130 !important;
    color: #fff !important;
}
.products-admin-detail-footer-spacer {
    flex: 1;
    min-width: 8px;
}

/* Ürün formu (Genel sekmesi) */
.products-admin-product-form .form-group {
    margin-bottom: 14px;
}

.products-admin-product-form .form-group label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-secondary, #555);
    margin-bottom: 4px;
}

.products-admin-product-form .form-group input[type="text"],
.products-admin-product-form .form-group input[type="number"],
.products-admin-product-form .form-group textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.875rem;
}

.products-admin-product-form .form-group input.input-readonly,
.products-admin-product-form .form-group input[readonly] {
    background: var(--bg-muted, #f4f4f5);
    color: var(--text-muted, #64748b);
    cursor: not-allowed;
}

.products-admin-product-form .form-group textarea {
    resize: vertical;
    min-height: 80px;
}

.products-admin-product-form .form-group.has-error input,
.products-admin-product-form .form-group.has-error textarea {
    border-color: var(--danger, #c00);
}

.products-admin-product-form .form-error {
    display: block;
    font-size: 0.75rem;
    color: var(--danger, #c00);
    margin-top: 4px;
}

.products-admin-product-form .form-group-toggle,
.products-admin-product-form .app-switch-row.form-group-toggle {
    margin-bottom: 10px;
}
.products-admin-product-form .app-switch-row {
    border-bottom: none;
}

.products-admin-product-form .checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 400;
}

.products-admin-product-form .checkbox-label input {
    flex-shrink: 0;
    margin: 0;
}

.products-admin-product-form .checkbox-label span {
    flex: 1;
}

.products-admin-product-form .form-group-price .input-price,
.products-admin-product-form .form-group-price input[type="number"],
.products-admin-product-form input[type="number"] {
    text-align: right;
}

.products-admin-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 7.25rem;
    gap: 0.5rem 0.75rem;
    align-items: stretch;
    margin-bottom: 0.75rem;
}
.products-admin-hero-fields {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.products-admin-hero-fields > .form-group {
    margin-bottom: 0.4rem;
}
.products-admin-hero-fields > .form-group:last-child {
    margin-bottom: 0;
}
.products-admin-hero-fields .form-hint-muted {
    display: none;
}
.products-admin-hero-fields .products-admin-psych-price-hint {
    font-size: 0.72rem;
    margin: 0.2rem 0 0;
}
.products-admin-hero-image.product-form-image-wrap {
    height: auto;
    min-height: 100%;
    aspect-ratio: auto;
    max-height: none;
    margin-bottom: 0;
    align-self: stretch;
}
.products-admin-form-section {
    margin: 0 0 0.75rem;
    padding: 0.6rem 0.7rem 0.3rem;
    border: 1px solid var(--border-color, #ececec);
    border-radius: 8px;
    background: var(--light-gray, #fafafa);
}
.products-admin-form-section-title {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #888);
    margin: 0 0 0.45rem;
}
.products-admin-form-section .printer-picker-group {
    margin-bottom: 0.25rem;
}
.unit-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem 0.2rem;
}
.unit-crumb-one {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text-muted, #6b7280);
    padding: 0 0.15rem;
}
.unit-crumb-sep {
    flex-shrink: 0;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--primary, #c45c26);
    padding: 0 0.05rem;
    user-select: none;
}
.unit-crumb-qty {
    width: 3.4rem;
    min-width: 3.4rem;
    max-width: 4.2rem;
    min-height: 36px;
    text-align: center;
    padding: 0.3rem 0.3rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius, 6px);
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--white, #fff);
}
.unit-crumb-unit {
    width: auto;
    min-width: 5.4rem;
    max-width: 7.8rem;
    min-height: 36px;
    padding: 0.3rem 0.35rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius, 6px);
    font-size: 0.85rem;
    background: var(--white, #fff);
}
.unit-crumb-add,
.unit-crumb-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: var(--white, #fff);
    color: var(--text-muted, #6b7280);
    cursor: pointer;
    flex-shrink: 0;
}
.unit-crumb-add:hover {
    border-color: var(--primary, #c45c26);
    color: var(--primary, #c45c26);
    background: rgba(196, 92, 38, 0.08);
}
.unit-crumb-x:hover {
    border-color: var(--danger, #dc3545);
    color: var(--danger, #dc3545);
    background: rgba(220, 53, 69, 0.08);
}
.products-admin-unit-conv-preview {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.product-form-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1.2;
    max-height: 100px;
    border: 2px dashed var(--border-color, #ddd);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-bottom: 12px;
    overflow: hidden;
    background: var(--light-gray, #f5f5f5);
}

.product-form-image-wrap:hover {
    border-color: var(--primary);
    background: rgba(255, 23, 68, 0.04);
}

.product-form-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-form-image-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--text-muted, #888);
    font-size: 0.8rem;
}

.product-form-image-placeholder i {
    font-size: 2rem;
}

.product-form-image-input {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

.products-admin-detail-pane h4 {
    margin: 0 0 14px 0;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-primary, #333);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color, #eee);
}

.products-admin-detail-pane p {
    margin: 0 0 10px 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text-primary, #333);
}

.products-admin-detail-pane p:last-of-type {
    margin-bottom: 0;
}

.products-admin-detail-desc {
    margin-top: 14px;
    padding-top: 12px;
    font-size: 0.8rem;
    color: var(--text-muted, #666);
    line-height: 1.5;
    border-top: 1px solid var(--border-color, #eee);
}

.products-admin-placeholder {
    color: var(--text-muted, #666);
    font-style: italic;
    font-size: 0.875rem;
}

/* Reçete sekmesi */
.products-admin-recipe-info-box {
    background: #e8f4fd;
    border: 1px solid #b8daff;
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #0c5460;
}
.products-admin-recipe-info-box strong { color: #004085; }
.products-admin-recipe-search-label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}
.products-admin-recipe-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 6px;
}
.products-admin-recipe-badge-mat { background: #e2e8f0; color: #475569; }
.products-admin-recipe-badge-hammadde { background: #fef3c7; color: #92400e; }
.products-admin-recipe-badge-sub { background: #dbeafe; color: #1e40af; }
.recipe-add-material-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.recipe-add-material-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.recipe-btn-picker {
    color: #0e7490;
    background: #ecfeff;
    border: 1px solid #67e8f9;
    font-weight: 600;
}
.recipe-btn-picker:hover {
    color: #155e75;
    background: #cffafe;
    border-color: #22d3ee;
}
.recipe-btn-hammadde {
    color: #92400e;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    font-weight: 600;
}
.recipe-btn-hammadde:hover {
    color: #78350f;
    background: #fde68a;
    border-color: #fbbf24;
}
.recipe-material-picker {
    margin-top: 8px;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: #f8fafc;
}
.recipe-material-picker-split {
    margin-top: 8px;
    display: grid;
    grid-template-columns: minmax(140px, 34%) 1fr;
    gap: 0;
    min-height: 240px;
    max-height: 280px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    overflow: hidden;
    background: #f8fafc;
}
.recipe-material-picker-groups {
    border-right: 1px solid var(--border-color, #e2e8f0);
    overflow-y: auto;
    background: #fff;
}
.recipe-material-picker-groups-head {
    padding: 8px 10px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #64748b);
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    background: #f1f5f9;
}
.recipe-material-picker-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.04);
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 0.85rem;
}
.recipe-material-picker-group-item:hover { background: #f1f5f9; }
.recipe-material-picker-group-item.active {
    background: #e0f2fe;
    font-weight: 600;
}
.recipe-material-picker-group-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recipe-material-picker-group-count {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
    background: #e2e8f0;
    border-radius: 999px;
    padding: 1px 6px;
}
.recipe-material-picker-items {
    overflow-y: auto;
    min-height: 0;
}
.recipe-material-picker-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 0.88rem;
}
.recipe-material-picker-item:hover { background: #e2e8f0; }
.recipe-material-picker-item:last-child { border-bottom: none; }
.recipe-material-picker-check {
    flex-shrink: 0;
    width: 1.1rem;
    color: var(--text-muted, #94a3b8);
    font-size: 0.95rem;
}
.recipe-material-picker-item.is-in-recipe,
.hammadde-manager-item.is-in-recipe {
    background: #ecfdf5;
}
.recipe-material-picker-item.is-in-recipe .recipe-material-picker-check,
.hammadde-manager-item.is-in-recipe .recipe-material-picker-check {
    color: #059669;
}
.recipe-material-picker-item.is-in-recipe:hover,
.hammadde-manager-item.is-in-recipe:hover {
    background: #d1fae5;
}
.recipe-material-picker-name { font-weight: 600; color: var(--text-primary, #1e293b); }
.recipe-material-picker-empty,
.recipe-material-picker-loading {
    padding: 12px;
    font-size: 0.85rem;
    color: var(--text-muted, #64748b);
    text-align: center;
}
.products-admin-unit-select,
.products-admin-hammadde-modal .products-admin-unit-select {
    width: 100%;
    min-height: 38px;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius, 6px);
    font-size: 0.9rem;
    background: var(--white, #fff);
}
.products-admin-recipe-search-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.products-admin-recipe-search-price {
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--text-muted, #666);
}
.products-admin-recipe-pane .products-admin-recipe-cost-card {
    background: var(--bg-subtle, #f5f5f5);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 14px;
}
.products-admin-recipe-cost-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    font-size: 0.875rem;
}
.products-admin-recipe-cost-row strong {
    color: var(--text-primary, #333);
}
.products-admin-recipe-search-wrap {
    position: relative;
}
.products-admin-recipe-search-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    font-size: 0.9rem;
}
.products-admin-recipe-search-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-top: 2px;
    max-height: 220px;
    overflow-y: auto;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 50;
}
.products-admin-prep-picker-dropdown {
    margin-top: 6px;
    max-height: 280px;
    padding: 0.3rem;
    border-radius: 10px;
    box-shadow: 0 14px 32px -12px rgba(15, 23, 42, 0.28);
}
.products-admin-prep-picker-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.35rem 0.65rem;
    align-items: center;
    padding: 0.55rem 0.65rem !important;
    border-radius: 8px;
    margin-bottom: 0.15rem;
}
.products-admin-prep-picker-item:hover {
    background: color-mix(in srgb, var(--nav-bg, #d01c42) 8%, #fff) !important;
}
.products-admin-prep-picker-name {
    grid-column: 1;
    font-weight: 600;
    font-size: 0.88rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.products-admin-prep-picker-meta {
    grid-column: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.products-admin-prep-picker-unit {
    font-size: 0.72rem;
    color: var(--text-muted);
}
.products-admin-prep-picker-add {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--nav-bg, #d01c42);
    color: #fff;
    font-size: 0.75rem;
}
.products-admin-recipe-search-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.875rem;
}
.products-admin-recipe-search-item:hover {
    background: var(--bg-subtle, #f0f0f0);
}
.products-admin-recipe-table-wrap {
    overflow-x: auto;
    margin-bottom: 8px;
}
.products-admin-recipe-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.products-admin-recipe-th-tip { width: 100px; }
.products-admin-recipe-th-fire { width: 70px; }
.products-admin-recipe-table th,
.products-admin-recipe-table td {
    padding: 6px 8px;
    text-align: left;
    border-bottom: 1px solid var(--border-color, #eee);
}
.products-admin-recipe-td-tip { vertical-align: middle; }
.products-admin-recipe-td-fire { padding: 4px; }
.products-admin-recipe-row-sub { background: #f8fafc; }
.products-admin-recipe-auto {
    font-size: 0.85rem;
    color: var(--text-muted, #666);
    font-style: italic;
}
.products-admin-recipe-fire {
    width: 56px;
    padding: 4px 6px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 4px;
    font-size: 0.85rem;
}
.products-admin-recipe-save-row { margin-top: 1rem; }
.products-admin-recipe-quick-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}
.products-admin-recipe-quick-btn { white-space: nowrap; }
.products-admin-recipe-quick-hint {
    font-size: 0.85rem;
    color: var(--text-muted, #666);
}
.products-admin-quick-sub-modal .modal-body { max-height: 70vh; overflow-y: auto; }
.products-admin-quick-sub-overlay { z-index: 10030; }
.products-admin-hammadde-manager-overlay { z-index: 10035; }
.products-admin-hammadde-overlay { z-index: 10040; }
.modal-content.products-admin-hammadde-manager-modal {
    width: min(1180px, 98vw);
    max-width: min(1180px, 98vw);
    max-height: min(84vh, 720px);
    display: flex;
    flex-direction: column;
}
.products-admin-hammadde-manager-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important;
}
.hammadde-manager-split {
    display: grid;
    grid-template-columns: minmax(150px, 26%) 1fr;
    min-height: 420px;
    max-height: 62vh;
}
.hammadde-manager-new-item {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    background: #fffbeb;
}
.hammadde-manager-new-item-row {
    display: grid;
    grid-template-columns: minmax(160px, 2.2fr) minmax(82px, 0.9fr) minmax(82px, 0.9fr) minmax(96px, 1fr) minmax(82px, 0.9fr) auto;
    gap: 8px;
    align-items: end;
}
.hammadde-manager-new-item-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.hammadde-manager-new-item-field--name {
    min-width: 0;
}
.hammadde-manager-new-item-field > span {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #64748b);
    white-space: nowrap;
}
.hammadde-manager-new-item-row .hammadde-manager-new-item-field .products-admin-recipe-search-input,
.hammadde-manager-new-item-row .hammadde-manager-new-item-field .products-admin-unit-select {
    width: 100%;
    min-width: 0;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    padding: 0 10px;
    box-sizing: border-box;
    line-height: 1.2;
}
.hammadde-manager-new-item-row .hammadde-manager-new-item-field .products-admin-unit-select {
    padding: 0 8px;
}
.hammadde-manager-new-item-save {
    align-self: end;
    white-space: nowrap;
    height: 38px;
    min-height: 38px;
    min-width: 72px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.hammadde-manager-new-item-preview {
    margin: 8px 0 0;
    font-size: 0.8rem;
    color: var(--text-muted, #64748b);
}
.hammadde-manager-groups {
    border-right: 1px solid var(--border-color, #e2e8f0);
    overflow-y: auto;
    background: #fff;
}
.hammadde-manager-new-group {
    display: flex;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.hammadde-manager-new-group input { flex: 1; min-width: 0; }
.hammadde-manager-items {
    overflow-y: auto;
    min-height: 0;
}
.hammadde-manager-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 0.88rem;
}
.hammadde-manager-item:hover { background: #fef3c7; }
.hammadde-manager-item.is-in-recipe:hover { background: #d1fae5; }
.hammadde-manager-item:last-child { border-bottom: none; }

/* Geniş reçete modalı */
.products-admin-recipe-modal-overlay {
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.products-admin-recipe-wide-modal {
    width: 100%;
    max-width: min(1240px, 98vw);
    height: min(88vh, 760px);
    max-height: min(88vh, 760px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.products-admin-recipe-modal-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.variant-modal-presets-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 8px 10px 12px;
}
.variant-modal-preset-col {
    flex: 1;
    min-width: 0;
    min-height: 0;
    padding: 8px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
    background: var(--bg-subtle, #f8fafc);
    display: flex;
    flex-direction: column;
}
.variant-modal-preset-section {
    min-height: 0;
}
.variant-modal-preset-section.variant-modal-preset-scroll {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.variant-modal-preset-section.variant-modal-combo-actions {
    flex: 0 0 auto;
    padding-top: 4px;
}
.variant-modal-chip-with-swatch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.variant-modal-chip-with-swatch .variant-color-swatch {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.12);
}
.variant-modal-chip.is-active .variant-color-swatch {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.85);
}
.variant-modal-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: var(--text-primary, #334155);
}
.variant-modal-search-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 6px;
    margin-bottom: 8px;
    align-items: center;
}
.variant-modal-chip-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding: 2px;
}
.variant-modal-chip {
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 4px 10px;
    background: #fff;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}
.variant-modal-chip:hover {
    border-color: #60a5fa;
    color: #1d4ed8;
}
.variant-modal-chip.is-active {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    border-color: #16a34a;
    color: #fff;
}
.variant-modal-actions-row {
    align-items: flex-end;
    gap: .5rem;
    margin-bottom: 12px;
}
.variant-modal-bulk-input {
    min-height: 36px;
}
.variant-modal-top-print-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}
.variant-modal-input {
    background: #fff;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}
.variant-modal-input:focus {
    outline: none;
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, .18);
}
.variant-modal-manual-inline-input {
    min-width: 150px;
}
.variant-modal-print-qty {
    display: flex;
    align-items: center;
    gap: 4px;
}
.variant-modal-print-qty input {
    min-width: 72px;
    text-align: center;
}
.variant-modal-print-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.variant-modal-print-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
.variant-modal-print-master-input {
    min-width: 86px;
    max-width: 100px;
    height: 36px;
}
.variant-modal-table {
    table-layout: fixed;
}
.variant-modal-table th,
.variant-modal-table td {
    vertical-align: middle;
}
.variant-modal-table th:nth-child(1) { width: 34px; }
.variant-modal-table th:nth-child(2) { width: 11%; }
.variant-modal-table th:nth-child(3) { width: 9%; }
.variant-modal-table th:nth-child(4) { width: 18%; }
.variant-modal-table th:nth-child(5) { width: 12%; }
.variant-modal-table th:nth-child(6) { width: 11%; }
.variant-modal-table th:nth-child(7) { width: 10%; }
.variant-modal-table th:nth-child(8) { width: 56px; }
.variant-modal-table th:nth-child(9) { width: 52px; }
.variant-modal-print-td {
    padding-left: 4px;
    padding-right: 4px;
}
input.variant-modal-print-qty-only {
    width: 100%;
    max-width: 52px;
    min-width: 40px;
    padding: 4px 6px !important;
    text-align: center;
    font-size: 0.82rem;
}
.variant-modal-table td .variant-modal-input {
    width: 100%;
    min-width: 0;
    height: 32px;
    padding: 6px 10px;
    font-size: 0.86rem;
    line-height: 1.2;
    box-sizing: border-box;
}
.variant-modal-table .variant-modal-print-qty {
    gap: 3px;
}
.variant-modal-table .variant-modal-print-qty .btn-icon-portion {
    width: 28px;
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.variant-modal-table .variant-modal-print-qty input.variant-modal-input {
    height: 30px;
    min-width: 56px;
}
.variant-modal-table td:last-child {
    white-space: nowrap;
}
.variant-modal-table td:last-child .btn {
    height: 30px;
    line-height: 1.05;
    padding: 0 10px;
}
.variant-modal-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.variant-modal-header-left h2 {
    margin: 0;
}
.variant-modal-main-layout {
    display: grid;
    grid-template-columns: minmax(232px, 276px) 1fr;
    gap: 10px;
    margin: 8px 10px 10px;
    min-height: 0;
    flex: 1;
}
.variant-modal-left-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    flex: 1;
    overflow: hidden;
}
.variant-modal-right-column {
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.variant-modal-right-column .products-admin-recipe-table-wrap {
    width: 100%;
    margin-bottom: 0;
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.variant-modal-left-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 0;
}
.variant-modal-combo-actions .variant-modal-left-actions {
    flex-direction: column;
    align-items: stretch;
}
.variant-modal-combo-actions .variant-modal-left-actions .btn {
    width: 100%;
    justify-content: center;
}
.variant-modal-left-actions .portion-price {
    min-width: 0;
    width: 100%;
}
.variant-modal-footer-left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.variant-modal-footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}
.variant-modal-footer-segment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.variant-modal-footer-start {
    flex: 0 0 auto;
    justify-content: flex-start;
}
.variant-modal-footer-center {
    flex: 1 1 280px;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;
}
.variant-modal-footer-end {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
}
.products-admin-modal .modal-footer.variant-modal-footer-row {
    justify-content: space-between;
    align-items: center;
}
.btn-variant-editor {
    background: #7c3aed;
    border-color: #7c3aed;
    color: #fff;
}
.btn-variant-editor:hover,
.btn-variant-editor:focus {
    background: #6d28d9;
    border-color: #6d28d9;
    color: #fff;
}
.variant-size-type-row {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
}
.variant-size-type-row .btn {
    padding: 4px 8px;
}
.variant-label-designer-panel {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
    margin: 0 10px 12px;
    background: #f8fafc;
}
.variant-label-designer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.variant-label-designer-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.variant-label-designer-body {
    display: grid;
    grid-template-columns: minmax(420px, 1.1fr) minmax(260px, 1fr);
    gap: 10px;
    padding: 10px;
}
.variant-label-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.variant-label-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.variant-label-grid label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.78rem;
    color: #374151;
}
.variant-label-selected-editor {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    padding: 8px;
    background: #fff;
}
.variant-label-selected-editor h4 {
    margin: 0 0 8px;
    font-size: 0.85rem;
}
.variant-label-designer-stage-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 8px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #fff;
    min-height: 220px;
}
.variant-label-workspace {
    position: relative;
    border: 1px solid #111827;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
    overflow: hidden;
}
.variant-label-stage-element {
    position: absolute;
    border: 1px dashed #9ca3af;
    padding: 1px 3px;
    cursor: move;
    overflow: hidden;
    white-space: nowrap;
    user-select: none;
    background: rgba(255,255,255,.9);
}
.variant-label-stage-element.is-selected {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}
.variant-label-stage-barcode,
.variant-label-stage-barcode > div,
.variant-label-stage-barcode svg {
    width: 100%;
    height: 100%;
    display: block;
}
.variant-label-designer-modal .modal-body {
    padding: 10px;
}
.variant-print-preview-modal .modal-body {
    padding: 8px;
    min-height: 360px;
}
.variant-print-preview-iframe {
    width: 100%;
    height: 62vh;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
}
.products-admin-recipe-loading-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-height: 200px;
}

/* Reçete modalı: üst özet şeridi + orta satırlar + sağ öneri/kontrol */
.recipe-modal-workspace {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.recipe-modal-topbar {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
    background: var(--bg-subtle, #f8fafc);
}
.recipe-modal-topbar-error {
    flex: 1 1 100%;
    padding: 8px 10px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #b91c1c;
}
.recipe-modal-topbar-pie {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex-shrink: 0;
}
.recipe-modal-topbar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
}
.recipe-modal-topbar-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
}
.recipe-modal-topbar-metrics--wide {
    flex: 1 1 100%;
    align-items: center;
}
.recipe-modal-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 10px;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    min-width: 5.5rem;
}
.recipe-modal-topbar-margins-hint {
    font-size: 0.72rem;
    color: var(--text-muted, #64748b);
    white-space: nowrap;
}
.recipe-modal-topbar-hint {
    margin: 0;
    font-size: 0.82rem;
    color: var(--text-muted, #64748b);
    flex: 1 1 200px;
}
.recipe-modal-topbar-hint--solo {
    flex: 1 1 100%;
    font-style: italic;
}
.recipe-portion-scope-banner {
    flex: 0 0 100%;
    width: 100%;
    margin: 0 0 2px;
    padding: 6px 10px;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #1e40af;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
}
.recipe-modal-body-row {
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.recipe-modal-center {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 16px 20px 20px;
}
.recipe-modal-insights {
    width: 350px;
    flex-shrink: 0;
    overflow-y: auto;
    padding: 16px 18px 20px;
    border-left: 1px solid var(--border-color, #e5e7eb);
    background: var(--bg-subtle, #fafafa);
}
.recipe-insights-block {
    margin-bottom: 20px;
}
.recipe-insights-block:last-child {
    margin-bottom: 0;
}
.recipe-insights-heading {
    margin: 0 0 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #475569);
}
.recipe-insights-muted {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--text-muted, #64748b);
}
.recipe-insight-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.recipe-insight-item {
    font-size: 0.8rem;
    line-height: 1.4;
    padding: 8px 10px;
    border-radius: 8px;
    margin-bottom: 6px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--card-bg, #fff);
}
.recipe-insight-item--warn {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}
.recipe-insight-item--danger {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}
.recipe-optimum-panel--insights {
    margin-top: 0;
    padding: 0;
    border: none;
    background: transparent;
}
.recipe-modal-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.recipe-modal-legend-item i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.recipe-modal-legend-cost i { background: rgba(220, 38, 38, 0.5); }
.recipe-modal-legend-profit i { background: rgba(22, 163, 74, 0.5); }
.recipe-modal-dl {
    margin: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 16px;
    font-size: 0.85rem;
}
.recipe-modal-dl dt {
    margin: 0;
    color: var(--text-muted, #6b7280);
    font-weight: 500;
}
.recipe-modal-dl dd {
    margin: 0;
    text-align: right;
    font-weight: 600;
}
.recipe-modal-dl dd.recipe-modal-profit { color: #16a34a; }
.recipe-modal-dl dd.recipe-modal-loss { color: #dc2626; }

/* Reçete maliyet 2x2 grid: Maliyet | Satış fiyatı, Kâr | Marj (ürün paneli + modal) */
.recipe-cost-quad {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    margin: 0 0 12px;
    font-size: 0.85rem;
}
.recipe-cost-cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    background: var(--bg-subtle, #f1f5f9);
    border-radius: 8px;
}
.recipe-cost-label {
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
    font-weight: 500;
}
.recipe-cost-value {
    font-weight: 600;
    color: var(--text-primary, #1e293b);
}
.recipe-cost-value.recipe-gate-profit,
.recipe-cost-value.recipe-modal-profit { color: #16a34a; }
.recipe-cost-value.recipe-gate-loss,
.recipe-cost-value.recipe-modal-loss { color: #dc2626; }

.recipe-modal-error {
    padding: 10px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #b91c1c;
    margin-bottom: 12px;
}
.recipe-modal-warning {
    margin-top: 12px;
    padding: 8px 10px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #b45309;
}
.recipe-modal-no-data {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-muted, #6b7280);
    font-style: italic;
}
.recipe-modal-center .products-admin-recipe-search-label {
    margin-bottom: 8px;
}
.recipe-modal-center {
    margin-bottom: 10px;
}
/* Reçete modalı: adımlar + belirgin arama alanı */

.recipe-add-material-panel {
    margin-bottom: 10px;
    padding: 10px 12px 12px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.recipe-add-material-panel-head {
    margin-bottom: 8px;
}
.recipe-add-material-title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}
.recipe-modal-search-wrap {
    position: relative;
}
.recipe-modal-search-input {
    min-height: 40px;
    padding: 9px 12px !important;
    font-size: 0.94rem !important;
    font-weight: 500;
    border-width: 2px !important;
    border-color: #64748b !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.recipe-modal-search-input::placeholder {
    color: #64748b;
    font-weight: 400;
}
.recipe-modal-search-input:hover {
    border-color: #475569 !important;
    background: #fff !important;
}
.recipe-modal-search-input:focus {
    outline: none;
    border-color: #0284c7 !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.26), 0 2px 8px rgba(14, 165, 233, 0.12);
}
.recipe-modal-search-dropdown {
    border-width: 2px;
    border-color: #94a3b8;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.1);
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.recipe-modal-table-scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    background: var(--lighter-gray);
    padding: 0.5rem;
}
.recipe-modal-table-scroll .products-admin-recipe-table-wrap {
    min-width: 100%;
}
.recipe-modal-footer-actions {
    flex-shrink: 0;
    padding-top: 14px;
    border-top: 1px solid var(--border-color, #e5e7eb);
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.recipe-modal-footer-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.recipe-modal-footer-actions-start {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-right: auto;
}
.recipe-modal-save-btn {
    flex-shrink: 0;
}
.recipe-modal-footer-hint {
    margin: 0;
    font-size: 0.8rem;
}
.recipe-modal-copy-btn { white-space: nowrap; }
.recipe-copy-hint {
    margin: 0 0 12px;
    font-size: 0.9rem;
    color: var(--text-muted, #64748b);
}
.recipe-copy-list {
    max-height: 260px;
    overflow-y: auto;
}
.recipe-copy-item {
    padding: 10px 12px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 6px;
    margin-bottom: 6px;
    cursor: pointer;
    transition: background 0.15s;
}
.recipe-copy-item:hover {
    background: var(--bg-subtle, #f1f5f9);
}
.recipe-modal-center .products-admin-recipe-empty {
    margin: 12px 0 0;
}
.products-admin-recipe-table-wrap {
    overflow-x: auto;
}
@media (max-width: 920px) {
    .recipe-modal-body-row {
        flex-direction: column;
    }
    .recipe-modal-insights {
        width: 100%;
        max-height: min(38vh, 280px);
        border-left: none;
        border-top: 1px solid var(--border-color, #e5e7eb);
    }
}

/* Reçete sekmesi giriş (gate) */
/* Reçete sekmesi giriş (gate) – kart, pasta, maliyet, buton */
.products-admin-recipe-gate {
    padding: 0;
}
.recipe-gate-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}
.recipe-gate-card {
    background: var(--bg-subtle, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    padding: 20px;
    max-width: 380px;
}
.recipe-gate-lead {
    margin: 0 0 16px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-muted, #64748b);
}
.recipe-gate-error {
    margin-bottom: 14px;
    padding: 10px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #b91c1c;
}
.recipe-gate-balance-vertical {
    margin-bottom: 18px;
}
.recipe-gate-pie-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.recipe-gate-pie-wrap-large {
    margin-bottom: 14px;
}
.recipe-gate-pie {
    border-radius: 50%;
}
.recipe-gate-pie-large {
    width: 120px;
    height: 120px;
}
.recipe-gate-pie-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: center;
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
}
.recipe-gate-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.recipe-gate-legend-item i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}
.recipe-gate-legend-cost i { background: rgba(220, 38, 38, 0.5); }
.recipe-gate-legend-profit i { background: rgba(22, 163, 74, 0.5); }
.recipe-gate-legend-margins {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 0.68rem;
    color: var(--text-muted, #64748b);
    margin-top: 2px;
}
.recipe-optimum-block {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08), rgba(14, 165, 233, 0.06));
    border: 1px solid rgba(99, 102, 241, 0.25);
    font-size: 0.8rem;
    width: 100%;
}
.recipe-optimum-block--modal { margin-top: 10px; }
.recipe-optimum-title {
    font-weight: 600;
    color: #3730a3;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.recipe-optimum-list { margin: 0; padding-left: 1.1rem; list-style: disc; color: var(--text-primary, #1e293b); }
.recipe-optimum-list li { margin-bottom: 6px; line-height: 1.45; }
.recipe-optimum-label { display: block; font-size: 0.72rem; color: var(--text-muted, #64748b); }
.recipe-optimum-price { color: #0d9488; margin-right: 6px; }
.recipe-optimum-meta { font-size: 0.72rem; color: var(--text-muted); }
.recipe-optimum-delta { display: block; font-size: 0.72rem; color: #15803d; margin-top: 2px; }
.recipe-optimum-delta--bad { color: #b91c1c; }
.products-admin-psych-price-hint {
    margin: 6px 0 0;
    font-size: 0.78rem;
    color: #0369a1;
}
.recipe-gate-dl-vertical {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.9rem;
}
.recipe-gate-dl-vertical dt {
    margin: 0;
    color: var(--text-muted, #6b7280);
    font-weight: 500;
    font-size: 0.8rem;
}
.recipe-gate-dl-vertical dd {
    margin: 0 0 10px;
    font-weight: 600;
    color: var(--text-primary, #1e293b);
}
.recipe-gate-dl-vertical dd:last-of-type { margin-bottom: 0; }
.recipe-gate-dl-vertical dd.recipe-gate-profit { color: #16a34a; }
.recipe-gate-dl-vertical dd.recipe-gate-loss { color: #dc2626; }
.recipe-gate-warning {
    margin-top: 12px;
    padding: 8px 10px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #b45309;
}
.recipe-gate-action {
    padding-top: 4px;
}
.recipe-gate-btn {
    padding: 10px 20px;
    font-size: 0.95rem;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.products-admin-recipe-table th {
    font-weight: 600;
    color: var(--text-muted, #666);
}
.products-admin-recipe-qty {
    width: 70px;
    padding: 4px 6px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 4px;
}
.products-admin-recipe-birim {
    padding: 4px 6px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 4px;
    min-width: 64px;
}
.products-admin-recipe-price {
    width: 80px;
    padding: 4px 6px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 4px;
}
.products-admin-recipe-empty {
    color: var(--text-muted, #666);
    font-size: 0.875rem;
    font-style: italic;
    padding: 12px 0;
}

/* Modaller */
.products-admin-modal.modal-content {
    position: relative;
    z-index: 10002;
}

/* Yeni Grup: max yükseklik + body scroll; dropdown açıkken z-index ile üstte kalır */
.products-admin-group-modal.modal-content {
    overflow: hidden;
    border-radius: 12px;
    background: var(--white, #fff);
    max-height: min(92vh, 760px);
    width: min(92vw, 560px);
    max-width: 560px;
    display: flex;
    flex-direction: column;
}
.products-admin-group-modal .modal-header {
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    flex-shrink: 0;
}
.products-admin-group-modal .modal-footer {
    border-radius: 0 0 12px 12px;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.products-admin-group-modal.modal-content > .modal-body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    z-index: 2;
    padding-bottom: 0.5rem;
}
.products-admin-group-modal .form-group-dropdown {
    position: relative;
    z-index: 20;
}
.products-admin-group-modal .form-group-dropdown .dropdown-list {
    z-index: 10030;
}
/* Açık dropdown satırı sonraki form alanının üstünde kalsın */
.products-admin-group-modal .form-group-dropdown.dropdown-open,
.products-admin-detail-pane .form-group-dropdown.dropdown-open {
    z-index: 300;
}
.products-admin-group-modal .form-group-dropdown.dropdown-open .dropdown-list,
.products-admin-detail-pane .form-group-dropdown.dropdown-open .dropdown-list {
    z-index: 10040;
}
.dropdown-item.is-keyboard-active {
    outline: 1px solid var(--success);
    outline-offset: -2px;
    background: rgba(76, 175, 80, 0.1);
}

/* Ürünler: yazıcı seçimi — küçük monitör kartı tarzı toggle */
.printer-picker-group {
    margin-bottom: 0.75rem;
}
.printer-picker-empty {
    margin: 0.25rem 0 0;
    font-size: 0.85rem;
}
.printer-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 0.5rem;
    margin-top: 0.35rem;
}
.printer-picker-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 78px;
    padding: 0.55rem 0.4rem 0.45rem;
    border: 2px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius, 8px);
    background: var(--white, #fff);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
    font: inherit;
    color: inherit;
    text-align: center;
}
.printer-picker-card:hover {
    border-color: var(--primary, #ff1744);
    background: rgba(255, 23, 68, 0.04);
}
.printer-picker-card:focus-visible {
    outline: 2px solid var(--primary, #ff1744);
    outline-offset: 2px;
}
.printer-picker-card--selected {
    border-color: var(--success, #4caf50);
    background: rgba(76, 175, 80, 0.1);
    box-shadow: 0 0 0 1px rgba(76, 175, 80, 0.35);
}
.printer-picker-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--light-gray, #f5f5f5);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.35rem;
    flex-shrink: 0;
}
.printer-picker-icon i {
    font-size: 1rem;
    color: var(--text-secondary, #666);
}
.printer-picker-card--selected .printer-picker-icon {
    background: rgba(76, 175, 80, 0.15);
}
.printer-picker-card--selected .printer-picker-icon i {
    color: var(--success, #4caf50);
}
.printer-picker-name {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--text-primary);
    word-break: break-word;
    max-width: 100%;
}
.printer-picker-check {
    position: absolute;
    top: 0.28rem;
    right: 0.28rem;
    color: var(--success, #4caf50);
    font-size: 0.85rem;
    line-height: 1;
}
.products-admin-group-modal .printer-picker-grid {
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
}
.theme-dark .printer-picker-card {
    background: var(--card-bg, #1e1e1e);
    border-color: var(--border-color, #444);
}
.theme-dark .printer-picker-card:hover {
    background: rgba(255, 23, 68, 0.08);
}
.theme-dark .printer-picker-card--selected {
    background: rgba(76, 175, 80, 0.14);
}
.theme-dark .printer-picker-icon {
    background: rgba(255, 255, 255, 0.06);
}

.products-admin-modal .modal-header {
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}

.products-admin-modal .modal-body {
    overflow: visible;
}

.products-admin-modal .modal-footer {
    padding: 14px 20px;
    border-top: 1px solid var(--border-color, #e0e0e0);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.products-admin-modal .modal-footer-spacer {
    flex: 1;
}

.products-admin-modal .modal-footer .btn-danger {
    background: var(--danger, #F44336);
    color: var(--white);
}

.products-admin-modal .modal-footer .btn-danger:hover:not(:disabled) {
    filter: brightness(1.08);
}

.products-admin-modal .modal-footer .btn-danger:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.products-admin-modal .form-group {
    margin-bottom: 16px;
}

.products-admin-modal .form-group:last-child {
    margin-bottom: 0;
}

.products-admin-modal .form-group label {
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary, #333);
}

.products-admin-modal .form-group input[type="text"],
.products-admin-modal .form-group input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    font-size: 0.9rem;
}

.products-admin-modal .form-group input:focus {
    outline: none;
    border-color: var(--primary);
}

.products-admin-modal .form-group input[type="checkbox"] {
    margin-right: 8px;
    vertical-align: middle;
}

.products-admin-modal-wide {
    max-width: 480px;
}

/* Dışa aktarma modal – kullanışlı ve estetik */
.export-modal-overlay { display: flex; align-items: center; justify-content: center; padding: 20px; }
.export-modal-content { max-width: 560px; width: 100%; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
.export-modal-header { position: relative; padding: 28px 24px 20px; background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%); border-bottom: 1px solid rgba(0,0,0,0.06); text-align: center; }
.export-modal-header--compact { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px; text-align: left; }
.export-modal-header-text { min-width: 0; flex: 1; }
.export-modal-icon-wrap { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 14px; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-second) 100%); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; box-shadow: 0 4px 14px rgba(255, 23, 68, 0.35); }
.export-modal-header h2 { margin: 0 0 2px; font-size: 1.05rem; font-weight: 700; color: var(--text-primary, #1e293b); }
.export-modal-subtitle { margin: 0; font-size: 0.8125rem; color: var(--text-muted, #64748b); line-height: 1.35; }
.export-modal-close { position: relative; top: auto; right: auto; flex-shrink: 0; width: 32px; height: 32px; border: none; background: rgba(0,0,0,0.06); border-radius: 8px; color: #64748b; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s; }
.export-modal-header:not(.export-modal-header--compact) .export-modal-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 10px; }
.export-modal-close:hover { background: rgba(0,0,0,0.1); color: #334155; }
.export-modal-body { padding: 24px; }
.export-modal-body--compact { padding: 14px 16px 16px; }
.export-io-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.export-io-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px; background: #fafbfc; }
.export-section-label { display: block; font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted, #64748b); margin-bottom: 2px; }
.export-io-action { width: 100%; padding: 10px 12px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; cursor: pointer; display: flex; align-items: center; gap: 10px; text-align: left; background: #fff; transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; }
.export-io-action:hover:not(:disabled) { border-color: #94a3b8; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.export-io-action:disabled { opacity: 0.55; cursor: not-allowed; }
.export-io-action > i { font-size: 1.15rem; flex-shrink: 0; width: 1.25rem; text-align: center; }
.export-io-action-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.export-io-action-text strong { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary, #1e293b); }
.export-io-action-text small { font-size: 0.6875rem; color: var(--text-muted, #64748b); line-height: 1.25; }
.export-io-action--import > i { color: #2563eb; }
.export-io-action--import:hover:not(:disabled) { border-color: #2563eb; background: rgba(37, 99, 235, 0.04); }
.export-io-action--excel > i { color: #217346; }
.export-io-action--excel:hover:not(:disabled) { border-color: #217346; background: rgba(33, 115, 70, 0.04); }
.export-io-action--pdf > i { color: #c53030; }
.export-io-action--pdf:hover:not(:disabled) { border-color: #c53030; background: rgba(197, 48, 48, 0.04); }
.export-io-action-row { display: flex; flex-direction: column; gap: 6px; }
.export-io-check { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; color: var(--text-muted, #64748b); margin-top: 2px; cursor: pointer; user-select: none; }
.export-group-list {
    max-height: 140px;
    overflow: auto;
    margin-top: 8px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.export-group-list-actions {
    display: flex;
    gap: 10px;
    margin-bottom: 4px;
}
.export-group-link {
    border: 0;
    background: none;
    padding: 0;
    font-size: 0.72rem;
    color: var(--primary, #c2185b);
    cursor: pointer;
    font-weight: 600;
}
.export-group-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    cursor: pointer;
    margin: 0;
}
.export-group-item input { margin: 0; }
.export-scope-chip { flex: 1; min-width: 0; padding: 6px 8px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 7px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 5px; background: #fff; font-size: 0.75rem; font-weight: 500; color: var(--text-primary, #1e293b); transition: border-color 0.15s, background 0.15s; }
.export-scope-chip input { display: none; }
.export-scope-chip i { font-size: 0.7rem; color: var(--text-muted, #94a3b8); }
.export-scope-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.export-scope-chip:hover:not(.disabled) { border-color: var(--primary); }
.export-scope-chip.active { border-color: var(--primary); background: rgba(255, 23, 68, 0.06); color: var(--primary); }
.export-scope-chip.active i { color: var(--primary); }
.export-scope-chip.disabled { opacity: 0.45; cursor: not-allowed; }
@media (max-width: 520px) {
  .export-io-columns { grid-template-columns: 1fr; }
}
.export-scope-section { margin-bottom: 0; }
.export-scope-cards { display: flex; gap: 12px; flex-wrap: wrap; }
.export-scope-card { flex: 1; min-width: 140px; padding: 14px 16px; border: 2px solid var(--border-color, #e2e8f0); border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 6px; transition: border-color 0.2s, background 0.2s, box-shadow 0.2s; background: #fff; }
.export-scope-card i { font-size: 1.25rem; color: var(--text-muted, #64748b); }
.export-scope-card span { font-size: 0.9rem; font-weight: 500; color: var(--text-primary, #1e293b); }
.export-scope-card input { display: none; }
.export-scope-card:hover:not(.disabled) { border-color: var(--primary); background: rgba(255, 23, 68, 0.03); }
.export-scope-card.active { border-color: var(--primary); background: rgba(255, 23, 68, 0.08); box-shadow: 0 0 0 1px var(--primary); }
.export-scope-card.active i { color: var(--primary); }
.export-scope-card.disabled { opacity: 0.5; cursor: not-allowed; }
.export-scope-hint { font-size: 0.75rem !important; color: var(--text-muted) !important; font-weight: 400 !important; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.export-format-section { margin-top: 22px; }
.export-format-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.export-format-card { padding: 20px 16px; border: 2px solid var(--border-color, #e2e8f0); border-radius: 14px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; background: #fff; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s; }
.export-loading-bar { margin-top: 10px; padding: 8px 12px; background: #f1f5f9; border-radius: 8px; display: flex; align-items: center; gap: 8px; font-size: 0.8125rem; color: var(--text-muted); }
.export-modal-footer { padding: 10px 16px; border-top: 1px solid var(--border-color, #e2e8f0); background: #fafafa; display: flex; justify-content: flex-end; }
.product-import-option { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 0.875rem; color: var(--text-muted, #64748b); }
.product-import-modal { max-width: 920px; width: min(96vw, 920px); }
.product-import-summary { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.product-import-summary-item { padding: 6px 12px; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; }
.product-import-table-wrap { max-height: 52vh; overflow: auto; border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px; }
.product-import-table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.product-import-table th, .product-import-table td { padding: 8px 10px; border-bottom: 1px solid var(--border-color, #e2e8f0); text-align: left; vertical-align: top; }
.product-import-table th { background: #f8fafc; position: sticky; top: 0; z-index: 1; }
.product-import-action-badge { font-weight: 600; }
.product-import-action--insert { color: #15803d; }
.product-import-action--update { color: #1d4ed8; }
.product-import-action--error { color: #b91c1c; }
.product-import-action--skip { color: #64748b; }
.product-import-show-unchanged {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.65rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #64748b);
    cursor: pointer;
    user-select: none;
}
.product-import-show-unchanged input { cursor: pointer; }
.product-import-note { color: var(--text-muted, #64748b); max-width: 220px; }
.settings-backup-folder-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.settings-backup-section,
.settings-backup-card,
.payment-settings-section.settings-backup-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.settings-backup-card { margin-top: 0.5rem; }
.settings-backup-path-block { margin-bottom: 14px; }
.settings-backup-path-label { display: block; font-size: 0.8125rem; font-weight: 600; color: var(--text-muted, #64748b); margin-bottom: 6px; }
.settings-backup-path-input-wrap { position: relative; display: flex; align-items: stretch; }
.settings-backup-path-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--text-muted, #94a3b8); font-size: 0.95rem; pointer-events: none; z-index: 1; }
.settings-backup-folder-input { flex: 1 1 auto; width: 100%; padding-left: 2.35rem !important; font-family: Consolas, 'Segoe UI', monospace; font-size: 0.8125rem; background: #f8fafc !important; color: var(--text-primary, #1e293b); cursor: default; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.theme-dark .settings-backup-folder-input { background: rgba(255,255,255,0.06) !important; }
.settings-backup-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.settings-backup-actions .btn { display: inline-flex; align-items: center; gap: 8px; }
.settings-backup-last-hint { margin-top: 12px; margin-bottom: 0; }
.settings-backup-last-path { display: block; margin-top: 4px; font-family: Consolas, 'Segoe UI', monospace; font-size: 0.75rem; word-break: break-all; color: var(--text-muted, #64748b); }
.settings-backup-list { display: flex; flex-direction: column; gap: 8px; }
.settings-backup-list-item { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; background: #fff; }
.settings-backup-list-name { font-weight: 600; }
.settings-backup-list-meta { color: var(--text-muted, #64748b); font-size: 0.8125rem; }

/* Ağ sağlığı */
.nh-status-banner {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: #f8fafc;
    margin-bottom: 16px;
}
.nh-status-banner--ok {
    border-color: rgba(39, 174, 96, 0.35);
    background: rgba(39, 174, 96, 0.08);
}
.nh-status-banner--drift {
    border-color: rgba(217, 119, 6, 0.4);
    background: rgba(245, 158, 11, 0.1);
}
.nh-status-banner--empty {
    border-color: var(--border-color, #e2e8f0);
    background: #f8fafc;
}
.nh-status-banner__icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    color: var(--text-muted, #64748b);
    flex-shrink: 0;
}
.nh-status-banner--ok .nh-status-banner__icon { color: #16a34a; }
.nh-status-banner--drift .nh-status-banner__icon { color: #d97706; }
.nh-status-banner__title {
    font-weight: 650;
    font-size: 0.95rem;
    color: var(--text-primary, #1e293b);
    margin-bottom: 2px;
}
.nh-status-banner__meta {
    font-size: 0.8125rem;
    color: var(--text-muted, #64748b);
}
.nh-diff-box {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(217, 119, 6, 0.35);
    background: rgba(255, 251, 235, 0.9);
}
.nh-diff-box__title {
    font-size: 0.8rem;
    font-weight: 650;
    color: #92400e;
    margin-bottom: 8px;
}
.nh-diff-box__ip {
    margin: 0;
    font-family: Consolas, 'Cascadia Mono', 'Segoe UI', monospace;
    font-size: 0.84rem;
    color: #78350f;
    line-height: 1.45;
}
.nh-diff-box__list {
    margin: 0;
    padding-left: 1.1rem;
    color: #78350f;
    font-size: 0.8125rem;
    line-height: 1.45;
}
.nh-adapters { margin-bottom: 18px; }
.nh-adapters__heading {
    margin: 0 0 10px;
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--text-primary, #1e293b);
}
.nh-adapter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
.nh-adapter-card {
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    background: #fff;
    padding: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.nh-adapter-card--down { opacity: 0.78; }
.nh-adapter-card__head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-color, #eef2f7);
}
.nh-adapter-card__title-row {
    display: flex;
    gap: 10px;
    align-items: center;
    min-width: 0;
}
.nh-adapter-card__type-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nh-adapter-card__name {
    font-weight: 650;
    font-size: 0.92rem;
    color: var(--text-primary, #0f172a);
    word-break: break-word;
}
.nh-adapter-card__type {
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
}
.nh-adapter-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}
.nh-badge {
    font-size: 0.7rem;
    font-weight: 650;
    padding: 3px 8px;
    border-radius: 999px;
    line-height: 1.2;
    white-space: nowrap;
}
.nh-badge--on { background: rgba(22, 163, 74, 0.12); color: #15803d; }
.nh-badge--off { background: rgba(100, 116, 139, 0.14); color: #475569; }
.nh-badge--mode { background: #f1f5f9; color: #334155; }
.nh-adapter-card__fields {
    display: grid;
    gap: 8px;
    margin: 0;
}
.nh-field {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 8px;
    align-items: start;
}
.nh-field dt {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--text-muted, #94a3b8);
    padding-top: 2px;
}
.nh-field dd {
    margin: 0;
    font-size: 0.84rem;
    color: var(--text-primary, #1e293b);
    font-family: Consolas, 'Cascadia Mono', 'Segoe UI', monospace;
    word-break: break-word;
}
.nh-chip {
    display: inline-block;
    margin: 0 6px 4px 0;
    padding: 2px 7px;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid var(--border-color, #e2e8f0);
    font-size: 0.78rem;
}
.nh-actions { margin-top: 4px; }
.cfg-block { margin-top: 1rem; }
.cfg-missing-list {
    margin: 0 0 12px;
    padding-left: 1.15rem;
    color: #92400e;
    font-size: 0.8125rem;
}
.cfg-fw-rules {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 6px 10px;
    margin-bottom: 12px;
}
.cfg-fw-rule {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--text-primary, #1e293b);
}
.cfg-fw-rule .text-success { color: #16a34a; }
.cfg-fw-rule .text-danger { color: #dc2626; }
.theme-dark .nh-status-banner { background: rgba(255,255,255,0.04); }
.theme-dark .nh-status-banner--ok { background: rgba(22, 163, 74, 0.12); }
.theme-dark .nh-status-banner--drift { background: rgba(245, 158, 11, 0.12); }
.theme-dark .nh-adapter-card { background: rgba(255,255,255,0.03); }
.theme-dark .nh-adapter-card__type-icon,
.theme-dark .nh-badge--mode,
.theme-dark .nh-chip { background: rgba(255,255,255,0.06); }
.theme-dark .nh-diff-box { background: rgba(245, 158, 11, 0.1); }

.export-format-title { font-size: 1rem; font-weight: 600; color: var(--text-primary, #1e293b); }
.export-format-desc { font-size: 0.75rem; color: var(--text-muted, #64748b); line-height: 1.3; }
.export-loading-spinner { width: 16px; height: 16px; border: 2px solid var(--border-color); border-top-color: var(--primary); border-radius: 50%; animation: export-spin 0.7s linear infinite; flex-shrink: 0; }
@keyframes export-spin { to { transform: rotate(360deg); } }
.ml-3 { margin-left: 1rem; }
.btn-block { width: 100%; }

/* Grup değiştir modal: sekmeler ve listeler */
.products-admin-change-group-modal .change-group-mode-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
.products-admin-change-group-modal .change-group-tab {
    padding: 8px 12px;
    font-size: 0.8rem;
    border: 1px solid var(--border-color, #e0e0e0);
    background: var(--bg-subtle, #f8f8f8);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.products-admin-change-group-modal .change-group-tab:hover:not(:disabled) {
    background: #eee;
    border-color: #ccc;
}
.products-admin-change-group-modal .change-group-tab.active {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}
.products-admin-change-group-modal .change-group-tab:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.products-admin-change-group-modal .change-group-pane {
    min-height: 120px;
}
.products-admin-change-group-modal .change-group-target-list {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 4px 0;
}
.products-admin-change-group-modal .change-group-target-list li {
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.products-admin-change-group-modal .change-group-target-list li:last-child { border-bottom: none; }
.products-admin-change-group-modal .change-group-target-list li:hover { background: rgba(0,0,0,0.04); }
.products-admin-change-group-modal .change-group-target-list li.active {
    background: rgba(var(--primary-rgb, 255, 23, 68), 0.12);
    font-weight: 600;
}
.products-admin-change-group-modal .change-group-search-results {
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 4px 0;
}
.products-admin-change-group-modal .change-group-search-results li {
    padding: 10px 12px;
    cursor: pointer;
    list-style: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.products-admin-change-group-modal .change-group-search-results li:last-child { border-bottom: none; }
.products-admin-change-group-modal .change-group-search-results li:hover,
.products-admin-change-group-modal .change-group-search-results li.active { background: rgba(0,0,0,0.06); }

.products-admin-change-group-modal .change-group-product-pick-list {
    max-height: 220px; overflow-y: auto; border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px; padding: 6px 0; margin-bottom: 12px; list-style: none;
}
.products-admin-change-group-modal .change-group-product-pick-list li {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; border-bottom: 1px solid rgba(0,0,0,0.04); transition: background 0.15s;
}
.products-admin-change-group-modal .change-group-product-pick-list li:last-child { border-bottom: none; }
.products-admin-change-group-modal .change-group-product-pick-list li:hover { background: rgba(0,0,0,0.04); }
.products-admin-change-group-modal .change-group-product-pick-list input[type="checkbox"] { cursor: pointer; flex-shrink: 0; }
.products-admin-change-group-modal .change-group-product-pick-list li span:first-of-type { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.products-admin-change-group-modal .change-group-product-price { flex-shrink: 0; font-size: 0.85rem; font-weight: 600; color: var(--primary); }

/* Grup değiştir modal: genel modal header kullanır, geniş gövde */
.change-group-overlay { align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; }
.change-group-wide-modal { width: 100%; max-width: min(96vw, 1000px); min-width: 320px; padding: 0; overflow: hidden; border-radius: 12px; box-shadow: 0 16px 48px rgba(0,0,0,0.15); max-height: 90vh; display: flex; flex-direction: column; }
.change-group-wide-modal.modal-shake { animation: modal-shake 0.4s ease; }
@keyframes modal-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-8px); }
    40% { transform: translateX(8px); }
    60% { transform: translateX(-6px); }
    80% { transform: translateX(6px); }
}
.change-group-wide-modal .modal-header { flex-shrink: 0; }
.change-group-wide-body { display: flex; align-items: stretch; flex: 1; min-height: 360px; overflow: hidden; }
.change-group-col { flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 16px; overflow: hidden; }
.change-group-from { background: #fff; border-right: 1px solid var(--border-color, #e2e8f0); }
.change-group-to { background: #fafbfc; }
.change-group-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted, #64748b); margin-bottom: 8px; flex-shrink: 0; }
.change-group-filter-input { width: 100%; padding: 10px 12px; margin-bottom: 10px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; font-size: 0.9rem; box-sizing: border-box; }
.change-group-filter-input:focus { outline: none; border-color: var(--primary); }
.change-group-accordion { flex: 1; min-height: 0; overflow-y: auto; }
.change-group-accordion-item { border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.change-group-accordion-head { display: flex; align-items: center; gap: 8px; padding: 12px 14px; cursor: pointer; background: #f8fafc; font-weight: 500; transition: background 0.15s; user-select: none; }
.change-group-accordion-head:hover { background: #f1f5f9; }
.change-group-head-switch { flex-shrink: 0; }
.change-group-head-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.change-group-accordion-icon { font-size: 0.75rem; color: var(--text-muted); transition: transform 0.2s; flex-shrink: 0; }
.change-group-accordion-icon.open { transform: rotate(90deg); }
.change-group-accordion-count { font-size: 0.8rem; color: var(--text-muted); flex-shrink: 0; }
.change-group-head-link { flex-shrink: 0; font-size: 0.8rem; }
.change-group-accordion-body {  background: #fff; border-top: 1px solid var(--border-color, #e2e8f0); max-height: 220px; overflow-y: auto; }
.change-group-product-list { list-style: none; margin: 0; padding: 0; }
.change-group-product-list li { display: flex; align-items: center; gap: 10px; padding: 8px 12px; cursor: pointer; border-radius: 6px; transition: background 0.12s; }
.change-group-product-list li:hover { background: #f8fafc; }
.change-group-product-switch-label { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; cursor: pointer; margin: 0; font-weight: normal; }
.change-group-product-switch-label .app-switch { flex-shrink: 0; }
.change-group-product-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.9rem; }
.change-group-arrow { width: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--text-muted, #94a3b8); font-size: 0.9rem; }
.change-group-link { background: none; border: none; color: var(--primary); cursor: pointer; padding: 0; font-size: inherit; }
.change-group-link:hover { text-decoration: underline; }
.change-group-group-list.change-group-targets { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border-color, #e2e8f0); border-radius: 8px; overflow-y: auto; flex: 1; min-height: 120px; max-height: 240px; }
.change-group-targets li { padding: 12px 14px; cursor: pointer; border-bottom: 1px solid rgba(0,0,0,0.05); transition: background 0.12s; }
.change-group-targets li.change-group-section {
    cursor: default;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    background: #f8fafc;
    padding: 8px 14px;
}
.change-group-targets li.change-group-section:hover { background: #f8fafc; }
.products-admin-group-kind {
    margin-bottom: 0.35rem;
    width: 100%;
    max-width: none;
}
.products-admin-group-kind-wrap {
    margin-bottom: 0.85rem;
}
.products-admin-group-modal .catalog-kind-seg.products-admin-group-kind {
    width: 100%;
    max-width: none;
}
.products-admin-group-modal .products-admin-group-kind .catalog-kind-seg-btn {
    flex: 1 1 0;
    min-width: 0;
}
.products-admin-group-stock-collapse {
    margin: 0.15rem 0 0.85rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 0.5rem;
    background: var(--surface-hover, #f8fafc);
    overflow: visible;
}
.products-admin-group-stock-toggle {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    margin: 0;
    padding: 0.55rem 0.75rem;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 0.88rem;
    font-weight: 650;
    cursor: pointer;
    text-align: left;
}
.products-admin-group-stock-toggle i {
    width: 0.9rem;
    color: var(--text-muted, #6b7280);
}
.products-admin-group-stock-panel {
    padding: 0 0.75rem 0.7rem;
}
.products-admin-group-stock-panel .form-group:last-child {
    margin-bottom: 0;
}
.products-admin-group-switches {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin: 0.25rem 0 0.5rem;
}
.change-group-targets li:last-child { border-bottom: none; }
.change-group-targets li:hover { background: #f1f5f9; }
.change-group-targets li.active { background: rgba(255, 23, 68, 0.1); font-weight: 600; color: var(--primary); }
.change-group-empty { margin: 8px 0 0; font-size: 0.8rem; color: var(--text-muted); }
.change-group-loading { padding: 12px; text-align: center; font-size: 0.85rem; color: var(--text-muted); flex-shrink: 0; }
.change-group-buttons { margin-top: auto; padding-top: 16px; display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }
.change-group-buttons .btn-move { width: 100%; padding: 12px; font-weight: 600; }
.change-group-buttons .btn-move-all { width: 100%; padding: 10px; font-size: 0.9rem; }

/* SweetAlert2: ürün/indirim/ödeme modal katmanlarının üstünde (ör. .discount-modal-overlay 25000, masa taşıma ghost 26000) */
.swal2-container {
    z-index: 27500 !important;
}
/* Grup değiştir: "Değişiklikler kaydedilmedi" uyarısı - ikon yok, Vazgeç kırmızı, Yine de çık success */
.swal-unsaved-popup .swal2-icon { display: none !important; }
.swal-btn-vazgec { background: var(--primary, #dc3545) !important; border-color: var(--primary, #dc3545) !important; }
.swal-btn-vazgec:hover { filter: brightness(1.05); }
.swal-btn-yine-de-cik { background: var(--success, #28a745) !important; border-color: var(--success, #28a745) !important; color: #fff !important; }
.swal-btn-yine-de-cik:hover { filter: brightness(1.05); }

/* SweetAlert2: uygulama genelinde ikon yok; onay = success (yeşil), vazgeç = danger (kırmızı) — swal-helper ile uyumlu */
.swal2-popup .swal2-icon { display: none !important; }
.swal2-popup .swal2-html-container { margin-top: 0.5rem; }
.swal2-popup .swal2-title { padding-top: 0.25rem; }
.swal2-confirm.swal2-styled {
    background: var(--success, #4CAF50) !important;
    border-color: var(--success, #4CAF50) !important;
    color: #fff !important;
}
.swal2-confirm.swal2-styled:hover { filter: brightness(1.08); }
.swal2-cancel.swal2-styled {
    background: var(--danger, #F44336) !important;
    border-color: var(--danger, #F44336) !important;
    color: #fff !important;
}
.swal2-cancel.swal2-styled:hover { filter: brightness(1.08); }
/* Peşin satış: çıkış onayı — Satışta kal (nötr), Evet çık (success – diğer onaylarla uyumlu) */
.swal-pesin-unsaved .swal2-cancel.swal2-styled {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid var(--border-color, #dee2e6) !important;
    color: var(--text-primary, #333) !important;
}
.swal-pesin-unsaved .swal2-confirm.swal2-styled {
    background: var(--success, #28a745) !important;
    border-color: var(--success, #28a745) !important;
    color: #fff !important;
}
.swal-pesin-unsaved .swal2-cancel.swal2-styled:hover,
.swal-pesin-unsaved .swal2-confirm.swal2-styled:hover { filter: brightness(1.08); }
.swal2-toast .swal2-icon { display: none !important; }
.swal2-toast .swal2-success { border-color: var(--primary, #FF1744) !important; }
/* Toast ortak: %80 beyaz arka plan + blur */
.swal2-toast .swal2-popup {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(4px);
}
/* Toast tipleri: success, error, warning, info — sol border renkleri (arka plan ortak) */
.app-toast.app-toast-success { border-left: 4px solid var(--success, #28a745); }
.app-toast.app-toast-error { border-left: 4px solid var(--danger, #dc3545); }
.app-toast.app-toast-warning { border-left: 4px solid var(--warning, #ffc107); color: #1a1a1a; }
.app-toast.app-toast-info { border-left: 4px solid var(--primary, #FF1744); }
.theme-dark .app-toast.app-toast-warning { color: var(--text-primary); }

/* Uzun hata metinleri toast’ı ekranı kaplamasın — fatura modalı açıkken de okunaklı kalsın */
.swal2-popup.app-toast {
    min-width: min(16rem, calc(100vw - 2rem)) !important;
    max-width: min(28rem, calc(100vw - 1.5rem)) !important;
    width: auto !important;
    padding: 0.9rem 1.1rem !important;
    box-sizing: border-box !important;
}
.swal2-popup.app-toast .swal2-title {
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
    max-height: none;
    overflow: visible;
    display: block !important;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    margin: 0 !important;
    padding: 0 !important;
}

/* Toast: fatura sihirbazı Teleport (body) üstünde; tam ekran overlay olmasın (modal kapanmasın) */
#maestro-toast-host {
    position: fixed;
    right: 12px;
    bottom: 12px;
    z-index: 33000;
    width: auto;
    height: auto;
    pointer-events: none;
}
#maestro-toast-host .swal2-container,
.swal2-container.app-toast-container {
    z-index: 33000 !important;
    pointer-events: none;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: transparent !important;
    position: relative !important;
}
.swal2-container.app-toast-container > .swal2-popup {
    pointer-events: auto;
}

/* Bugün: tek satır filtre şeridi */
.reports-filters.reports-filters-bugun {
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: nowrap;
    gap: 0.5rem;
}
.reports-filters-bugun .reports-filters-left {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0.4rem;
    flex: 1 1 auto;
    min-width: 0;
}
.reports-filters-bugun .reports-filters-right {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.4rem;
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 0.75rem;
}
.reports-filters-bugun .reports-filters-right .filter-group {
    flex: 0 0 auto;
}
.reports-filters-bugun .reports-filters-right .filter-select {
    min-width: 88px;
    max-width: 140px;
    height: 2.25rem;
    min-height: 2.25rem;
    box-sizing: border-box;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    line-height: 1.2;
}
.reports-filters-bugun .reports-gsday-date-group label {
    font-weight: 600;
}
.reports-filters-bugun .filter-group {
    min-width: 0;
}
.reports-filters-bugun .filter-group:not(.bugun-search-pay-group) {
    flex: 0 0 auto;
}
.reports-filters-bugun .filter-group:not(.bugun-search-pay-group) .filter-select {
    min-width: 88px;
    max-width: 120px;
    height: 2.25rem;
    min-height: 2.25rem;
    box-sizing: border-box;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    line-height: 1.2;
}
.reports-filters-bugun .bugun-search-pay-group {
    flex: 1 1 auto;
    min-width: 0;
}
.bugun-search-pay-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.35rem;
    min-width: 0;
    width: 100%;
}
.bugun-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 168px;
    width: 168px;
    max-width: 168px;
    height: 2.25rem;
}
.bugun-search-icon {
    position: absolute;
    left: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
    pointer-events: none;
    opacity: 0.75;
}
.reports-filters-bugun .bugun-search-input {
    width: 100%;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    box-sizing: border-box;
    padding: 0 1.6rem 0 1.55rem !important;
    font-size: 0.75rem !important;
    line-height: 1.2;
    border-radius: var(--border-radius);
    background-color: var(--white);
}
.theme-dark .reports-filters-bugun .bugun-search-input {
    background-color: var(--card-bg, var(--white));
}
.bugun-search-clear {
    position: absolute;
    right: 0.2rem;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    width: 1.4rem;
    height: 1.4rem;
    border-radius: var(--border-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.68rem;
    padding: 0;
}
.bugun-search-clear:hover {
    color: var(--text-primary);
    background: rgba(0, 0, 0, 0.06);
}
.theme-dark .bugun-search-clear:hover {
    background: rgba(255, 255, 255, 0.08);
}

.bugun-pay-filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-width: 0;
}
.bugun-pay-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.25rem;
    min-height: 2.25rem;
    box-sizing: border-box;
    padding: 0 0.65rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    background-color: var(--white);
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, box-shadow 0.12s ease;
    opacity: 0.55;
    white-space: nowrap;
    flex: 0 0 auto;
}
.theme-dark .bugun-pay-chip {
    background-color: var(--card-bg, var(--white));
}
.bugun-pay-chip:hover {
    border-color: var(--success, #4CAF50);
    color: var(--success, #4CAF50);
    box-shadow: 0 1px 3px rgba(76, 175, 80, 0.15);
    opacity: 0.9;
}
.bugun-pay-chip.active {
    opacity: 1;
    border-color: var(--success, #4CAF50);
    color: #2e7d32;
    background-color: rgba(76, 175, 80, 0.14);
    box-shadow: 0 0 0 1px rgba(76, 175, 80, 0.18);
}
.bugun-pay-chip--all.active {
    border-style: solid;
    opacity: 1;
    color: #2e7d32;
    border-color: var(--success, #4CAF50);
    background-color: rgba(76, 175, 80, 0.14);
    box-shadow: 0 0 0 1px rgba(76, 175, 80, 0.18);
}
.bugun-pay-chip--all:not(.active) {
    border-style: dashed;
    opacity: 0.55;
}
.theme-dark .bugun-pay-chip.active,
.theme-dark .bugun-pay-chip--all.active {
    color: #81c784;
    background-color: rgba(76, 175, 80, 0.22);
    border-color: var(--success, #4CAF50);
}
.bugun-filter-count {
    margin-left: 0.1rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
    flex: 0 0 auto;
    align-self: center;
}
.reports-filters-bugun .reports-gsday-filter-wrap {
    margin-left: 0.35rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}
/* Gün sonu satır seçimi (gsDay=1): tarih select kullanıcı/nereden ile aynı boy */
.reports-gsday-filter-blink { animation: reports-gsday-blink 0.4s ease 2; }
.reports-table tr.row-gsday-selected > td {
    background: rgba(25, 180, 84, 0.08);
}
.reports-sticky-chip--selection {
    background: rgba(25, 180, 84, 0.14);
    border-color: rgba(25, 180, 84, 0.35);
}

/* Tarih + saat yan yana, aksiyon butonları sağda, aynı yükseklik */
.reports-filters-datetime .filter-row-datetime {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    width: 100%;
}
.reports-filters-datetime .filter-group-date-time {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.reports-filters-datetime .filter-date-time-wrap {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.reports-filters-datetime .filter-date-time-wrap .filter-input {
    min-height: 32px;
}
.reports-filters-datetime .filter-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.reports-filters-datetime .filter-actions .btn {
    min-height: 32px;
}
.reports-filters-datetime .filter-group .filter-select {
    min-height: 32px;
}
@keyframes reports-gsday-blink {
    0%, 100% { opacity: 1; box-shadow: none; }
    50% { opacity: 0.85; box-shadow: 0 0 0 3px rgba(253, 126, 20, 0.5); border-radius: 6px; }
}
.reports-table .th-checkbox { width: 40px; text-align: center; }
.reports-table .td-checkbox { width: 40px; text-align: center; vertical-align: middle; }
.reports-table .td-checkbox .app-switch--mini { margin: 0; }

/* Grup listesi: satır + göz ikonu */
.products-admin-group-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.products-admin-group-list li.products-admin-group-dragging {
    opacity: 0.6;
}

.products-admin-group-row .products-admin-group-name {
    flex: 1;
    min-width: 0;
}

.products-admin-group-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.products-admin-group-edit-btn {
    padding: 4px 8px;
    border: none;
    background: transparent;
    color: var(--text-muted, #666);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.products-admin-group-edit-btn:hover {
    background: rgba(0,0,0,0.06);
    color: var(--primary);
}

.products-admin-group-eye {
    flex-shrink: 0;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

.products-admin-group-eye:hover {
    background: rgba(0,0,0,0.06);
}

.products-admin-group-eye.eye-active {
    color: #2e7d32;
}

.products-admin-group-eye.eye-inactive {
    color: #9e9e9e;
}

.products-admin-group-eye.eye-inactive i {
    text-decoration: line-through;
}
.products-admin-group-qr.eye-inactive,
.products-admin-product-qr.eye-inactive {
    opacity: 0.45;
}
.products-admin-group-qr.eye-inactive i,
.products-admin-product-qr.eye-inactive i {
    text-decoration: line-through;
}

/* Grup modal: dropdown */
.form-group-dropdown {
    position: relative;
}

.dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    font-size: 0.9rem;
    background: var(--white, #fff);
    cursor: pointer;
}

.dropdown-trigger:hover,
.dropdown-trigger:focus {
    border-color: var(--primary);
    outline: none;
}

.dropdown-trigger i {
    font-size: 0.75rem;
    color: var(--text-muted, #666);
}

.dropdown-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 4px;
    max-height: 220px;
    overflow-y: auto;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 10000;
}

.dropdown-item {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s;
}

.dropdown-item:hover {
    background: rgba(0,0,0,0.05);
}

.dropdown-item.muted {
    color: var(--text-muted, #666);
    cursor: default;
}

.dropdown-item-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0;
}

.dropdown-item-checkbox input[type="checkbox"] {
    margin: 0;
}

.dropdown-item.app-switch-row.dropdown-item-switch {
    border-bottom: none;
    min-height: auto;
}
.dropdown-item.app-switch-row .app-switch-label {
    flex: 1;
}

.garson-ayar-switches .app-switch-row {
    border-bottom: 1px solid var(--border-color, #e8e8e8);
}
.garson-ayar-switches .app-switch-row:last-child {
    border-bottom: none;
}

.dropdown-list-multiselect {
    max-height: 220px;
    overflow-y: auto;
}

.form-group .required {
    color: var(--primary);
}

.form-group.has-error .dropdown-trigger,
.form-group.has-error input {
    border-color: #c62828;
}

.form-error {
    display: block;
    margin-top: 4px;
    font-size: 0.8rem;
    color: #c62828;
}

/* Müşteriler: content-area içinde POS ile yan yana; aktif değilken yer kaplamasın */
.customers-cari-modal-discount-block {
    margin-top: -0.35rem;
}
.customers-tahsilat-discount-hint {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--text-secondary);
    line-height: 1.35;
}
.customers-keep-alive-slot {
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    min-width: 0;
    min-height: 0;
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    pointer-events: none;
}
.customers-keep-alive-slot.is-active {
    flex: 1;
    width: auto;
    max-width: none;
    min-width: 0;
    max-height: none;
    min-height: 0;
    pointer-events: auto;
}

/* Market paneli (row): pasif müşteri slotu yatayda da sıfır kalsın */
.content-area.content-area--fast-sale-panel > .customers-keep-alive-slot:not(.is-active) {
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    min-width: 0;
    overflow: hidden;
    pointer-events: none;
}
.content-area.content-area--fast-sale-panel .sales-view {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    width: auto;
}

.customers-page-wrapper,
.customers-page {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--light-gray);
    padding: 1rem;
    position: relative;
}

/* Studio wrapper'ları POS'ta da kullanılır — flex zinciri kırılmasın (scroll + panel) */
.customers-page > .customers-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.customers-page > .customers-body > .customers-body-main {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    gap: 1rem;
}

.customers-header {
    flex-shrink: 0;
}

.customers-title {
    margin: 0 0 0.75rem 0;
    font-size: 1.25rem;
    color: var(--text-primary);
}

.customers-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.customers-sort-select {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    background: var(--white);
    color: var(--text-primary);
    min-width: 160px;
}

.customers-toolbar .btn-new-customer {
    border: none;
}

.customers-toolbar .btn-new-customer:hover:not(:disabled) {
    background-color: #43a047;
    transform: translateY(-1px);
}

.customers-debt-reminder-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}
.customers-debt-reminder-btn-label {
    font-size: 0.85rem;
}
.customers-debt-reminder-hint {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
    line-height: 1.4;
}
.customers-debt-reminder-switch {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}
.customers-debt-reminder-switch .app-switch {
    flex-shrink: 0;
}
.customers-debt-reminder-snooze-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.customers-debt-reminder-snooze-row .form-control {
    flex: 1 1 auto;
}
.customers-debt-reminder-modal {
    max-width: 420px;
}

.customers-search-box {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 200px;
    background: var(--white);
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    padding: 0 0.75rem;
}

.customers-search-box i {
    color: var(--text-muted);
}

.customers-search-input {
    flex: 1;
    border: none;
    padding: 0.5rem 0;
    font-size: 0.9rem;
    background: transparent;
}

.customers-search-input:focus {
    outline: none;
}

.customers-list-wrap {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
}
.customers-list-wrap--silent {
    opacity: 0.92;
    transition: opacity 0.15s;
}

.customers-loading,
.customers-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: var(--text-muted);
}

.customers-empty-centered {
    min-height: 300px;
    flex: 1;
}

.customers-empty i {
    font-size: 2.5rem;
}

.customers-table-layout {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.customers-table-scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.customers-table-wrap {
    overflow: auto;
}
.customers-quick-filter-wrap {
    position: relative;
    flex-shrink: 0;
}
.customers-quick-filter-dropdown {
    right: 0;
    left: auto;
}
.customers-active-filter-chip {
    font-size: 0.75rem;
    color: var(--text-secondary);
    padding: 0.2rem 0.5rem;
    background: rgba(255, 193, 7, 0.2);
    border-radius: 4px;
    white-space: nowrap;
}
.customers-active-filter-chip--sort {
    background: rgba(255, 152, 0, 0.22);
    color: #e65100;
    font-weight: 600;
}
.kasa-quick-filter-divider {
    height: 1px;
    margin: 0.2rem 0.35rem;
    background: var(--border-color);
    opacity: 0.85;
}
.kasa-quick-filter-option.active {
    background: rgba(255, 193, 7, 0.25);
    color: var(--primary);
    font-weight: 600;
}

.customers-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    table-layout: fixed;
}

.customers-table thead {
    background: var(--light-gray);
    position: sticky;
    top: 0;
    z-index: 1;
}

.customers-table th {
    text-align: left;
    padding: 0.6rem 0.75rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.customers-table .col-loyalty { width: 2rem; min-width: 2rem; text-align: center; padding-left: 0.2rem; padding-right: 0.2rem; }
.customers-table th.col-loyalty {
    font-size: 0.85rem;
    color: var(--text-secondary, #94a3b8);
    opacity: 0.85;
}
.customers-table th.col-loyalty i { pointer-events: none; }
.customers-table td.col-loyalty .customer-loyalty-badge--icon i {
    font-size: 0.95rem;
}
.customers-table .col-name { width: 22%; min-width: 120px; }
.customers-table .col-firma { width: 22%; min-width: 120px; }
.customers-table td.col-name,
.customers-table td.col-firma {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.customers-table .col-phone { width: 18%; min-width: 110px; }
.customers-table .col-balance { width: 14%; min-width: 90px; text-align: right; }
.customers-table th.col-balance,
.customers-table td.col-balance { text-align: right; }
.customers-table td.col-balance .balance-debt,
.customers-table td.col-balance .balance-credit,
.customers-table td.col-balance .balance-none { display: inline-block; }
.customers-table td.col-balance .balance-credit { color: #2e7d32; font-weight: 600; }
.customers-table .col-quick-actions { width: 168px; min-width: 168px; text-align: right; white-space: nowrap; }
.customers-table td.col-quick-actions { vertical-align: middle; }
.customers-table td.col-quick-actions .btn-quick-action { margin-left: 0.25rem; }
.btn-quick-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.75rem;
    background: rgba(255, 23, 68, 0.08);
    color: var(--primary);
    border: 2px solid rgba(255, 23, 68, 0.25);
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.1s;
}
.btn-quick-action:hover {
    background: rgba(255, 23, 68, 0.15);
    color: var(--primary);
}
/* Hızlı aksiyon renk grupları (temsil ettiği işe göre) */
.btn-quick-action--tahsilat { background: rgba(46, 125, 50, 0.12); color: #2e7d32; border-color: rgba(46, 125, 50, 0.35); }
.btn-quick-action--tahsilat:hover { background: rgba(46, 125, 50, 0.22); color: #1b5e20; }
.btn-quick-action--ekstre { background: rgba(2, 119, 189, 0.12); color: #0277bd; border-color: rgba(2, 119, 189, 0.35); }
.btn-quick-action--ekstre:hover { background: rgba(2, 119, 189, 0.22); color: #01579b; }
.btn-quick-action--gecmis { background: rgba(97, 97, 97, 0.12); color: #616161; border-color: rgba(97, 97, 97, 0.35); }
.btn-quick-action--gecmis:hover { background: rgba(97, 97, 97, 0.22); color: #424242; }
.btn-quick-action--edit { background: rgba(33, 150, 243, 0.12); color: #1565c0; border-color: rgba(33, 150, 243, 0.35); }
.btn-quick-action--edit:hover { background: rgba(33, 150, 243, 0.22); color: #0d47a1; }
.btn-quick-action--restore { background: rgba(46, 125, 50, 0.12); color: #2e7d32; border-color: rgba(46, 125, 50, 0.35); }
.btn-quick-action--restore:hover { background: rgba(46, 125, 50, 0.22); color: #1b5e20; }
.btn-quick-action--sales { background: rgba(123, 31, 162, 0.12); color: #7b1fa2; border-color: rgba(123, 31, 162, 0.35); }
.btn-quick-action--sales:hover { background: rgba(123, 31, 162, 0.22); color: #4a148c; }
.customer-hub-action-btn--pos { background: rgba(123, 31, 162, 0.1); color: #7b1fa2; border-color: rgba(123, 31, 162, 0.3); }
.customer-hub-action-btn--pos:hover { background: rgba(123, 31, 162, 0.18); color: #4a148c; }
.btn-quick-action i { font-size: 0.85rem; }
.btn-quick-action span { display: none; }
@media (min-width: 900px) {
    .btn-quick-action span { display: inline; }
}

.customers-row {
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid var(--light-gray);
}

.customers-row--inactive {
    opacity: 0.82;
}

.customers-row--inactive:hover {
    background: rgba(46, 125, 50, 0.06);
}

.customers-inactive-badge {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.1rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    border-radius: 4px;
    color: #c62828;
    background: rgba(229, 57, 53, 0.12);
    vertical-align: middle;
}

.customers-row:hover {
    background: rgba(255, 23, 68, 0.06);
}

.customers-table td {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
}

.balance-debt {
    color: var(--danger, #dc3545);
    font-weight: 600;
    font-size: 0.85rem;
}

.balance-none {
    color: var(--text-muted);
}

.btn-quick-collect {
    margin-left: 0.35rem;
    padding: 0.2rem 0.4rem;
}

/* Tek satır: sol özet | orta sayfalama | sağ borç/alacak (kompakt çipler) */
.customers-bottom-bar {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem 0.85rem;
    padding: 0.45rem 0.85rem;
    border-top: 1px solid var(--light-gray);
    background: var(--lighter-gray);
}
.customers-bottom-left {
    justify-self: start;
    min-width: 0;
}
.customers-bottom-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.customers-bottom-totals {
    justify-self: end;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 0.65rem;
    min-width: 0;
}
.customers-footer-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    line-height: 1.2;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.65);
    max-width: 100%;
}
.theme-dark .customers-footer-inline {
    background: rgba(0, 0, 0, 0.18);
    border-color: rgba(255, 255, 255, 0.08);
}
.customers-footer-inline__lbl {
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
}
.customers-footer-inline__val {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.customers-footer-inline--credit {
    background: rgba(46, 125, 50, 0.12);
    border-color: rgba(46, 125, 50, 0.28);
}
.customers-footer-inline--credit .customers-footer-inline__lbl,
.customers-footer-inline--credit .customers-footer-inline__val { color: #2e7d32; }
.customers-footer-inline--debt {
    background: rgba(198, 40, 40, 0.1);
    border-color: rgba(198, 40, 40, 0.28);
}
.customers-footer-inline--debt .customers-footer-inline__lbl,
.customers-footer-inline--debt .customers-footer-inline__val { color: var(--danger, #c62828); }
.theme-dark .customers-footer-inline--credit {
    background: rgba(46, 125, 50, 0.22);
    border-color: rgba(129, 199, 132, 0.35);
}
.theme-dark .customers-footer-inline--credit .customers-footer-inline__lbl,
.theme-dark .customers-footer-inline--credit .customers-footer-inline__val { color: #81c784; }
.theme-dark .customers-footer-inline--debt {
    background: rgba(198, 40, 40, 0.22);
    border-color: rgba(239, 154, 154, 0.35);
}
.theme-dark .customers-footer-inline--debt .customers-footer-inline__lbl,
.theme-dark .customers-footer-inline--debt .customers-footer-inline__val { color: #ef9a9a; }
.pagination-info {
    font-size: 0.85rem;
    color: var(--text-muted);
    white-space: nowrap;
}
.customers-footer-stat {
    font-size: 0.85rem;
    color: var(--text-primary);
    white-space: nowrap;
}
.customers-footer-stat strong { margin-right: 0.35rem; }
.customers-footer-stat--debt strong { color: var(--danger, #c62828); }
.customers-footer-stat--credit strong { color: #2e7d32; }
@media (max-width: 900px) {
    .customers-bottom-bar {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }
    .customers-bottom-center { order: 2; }
    .customers-bottom-left { order: 1; }
    .customers-bottom-totals {
        order: 3;
        justify-self: stretch;
        justify-content: space-between;
    }
}

/* Müşteriler — tahsilat modalı (dokunmatik pill, Hesaplar / --success ile uyumlu yeşil seçim) */
.customers-tahsilat-popup.swal2-popup {
    padding: 1rem 1rem 0.75rem;
}
.customers-tahsilat-swal-actions.swal2-actions {
    width: 100%;
    box-sizing: border-box;
    padding: 0 0.25rem 0.75rem;
    margin: 0.5rem auto 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}
.customers-tahsilat-swal-actions .swal2-confirm {
    margin-left: auto;
}
.customers-tahsilat-swal-actions .swal2-cancel {
    margin-right: auto;
}
.customers-tahsilat-wrap {
    text-align: left;
    margin-top: 0.25rem;
}
.customers-tahsilat-name {
    margin: 0 0 0.75rem 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}
.customers-tahsilat-label {
    display: block;
    font-size: 0.8rem;
    color: var(--text-secondary);
    margin: 0.5rem 0 0.35rem;
}
.customers-tahsilat-datetime,
.customers-tahsilat-amount {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 2.75rem;
    font-size: 1rem;
    padding: 0.5rem 0.65rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
}
.customers-tahsilat-money-input {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.customers-tahsilat-money-input--amount {
    min-height: 3.1rem;
    font-size: 1.35rem !important;
    font-weight: 600;
    padding: 0.55rem 0.75rem;
}
.customers-tahsilat-money-input--jumbo {
    min-height: 3.55rem;
    font-size: 1.75rem !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.6rem 0.85rem;
}
.customers-tahsilat-desc {
    resize: vertical;
    min-height: 3.25rem;
    line-height: 1.35;
}
.customers-tahsilat-pills {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.45rem;
    margin-top: 0.15rem;
    max-height: 11rem;
    overflow-y: auto;
    padding-right: 2px;
}
.customers-tahsilat-pill {
    min-height: 2.75rem;
    padding: 0.45rem 0.6rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid var(--border-color);
    background: var(--card-bg, #fff);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}
.customers-tahsilat-pill:hover {
    border-color: rgba(76, 175, 80, 0.55);
    color: var(--text-primary);
}
.customers-tahsilat-pill.is-selected {
    border-color: var(--success, #4caf50);
    background: rgba(76, 175, 80, 0.22);
    color: #1b5e20;
    box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}
.theme-dark .customers-tahsilat-pill.is-selected {
    color: #c8e6c9;
    background: rgba(76, 175, 80, 0.28);
}

/* Geçmiş siparişler tablosu (aa_satislar arşiv) */
.customers-order-history-scroll {
    max-height: 420px;
    overflow: auto;
    text-align: left;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}
.customers-order-history-table {
    width: 100%;
    border-collapse: collapse;
}
.customers-order-history-table th,
.customers-order-history-table td {
    padding: 6px 8px;
    border: 1px solid var(--border-color);
}
.customers-order-history-table th {
    background: var(--light-gray);
    font-weight: 600;
}
.customers-order-history-table .col-num {
    text-align: right;
}

/* Geçmiş siparişler — iki panel + arama */
.customers-history-popup.swal2-popup {
    padding: 0.75rem 0.75rem 0.5rem;
}
.customers-order-history-modal {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.25fr);
    gap: 0.75rem;
    min-height: 320px;
    max-height: min(72vh, 560px);
    text-align: left;
    margin-top: 0.35rem;
}
.coh-left {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    overflow: hidden;
}
.coh-search-input {
    width: 100%;
    box-sizing: border-box;
    border: none !important;
    border-bottom: 1px solid var(--border-color) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    font-size: 0.9rem;
}
.coh-list {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding: 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.coh-order-row {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.1rem 0.5rem;
    text-align: left;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--light-gray, #f5f5f5);
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--text-primary);
    transition: border-color 0.15s, background 0.15s;
}
.coh-order-row:hover {
    border-color: rgba(76, 175, 80, 0.45);
}
.coh-order-row.is-active {
    border-color: var(--success, #4caf50);
    background: rgba(76, 175, 80, 0.12);
}
.coh-order-date {
    grid-column: 1 / -1;
    font-size: 0.72rem;
    color: var(--text-secondary);
}
.coh-order-no {
    font-weight: 600;
    grid-column: 1;
}
.coh-order-sum {
    grid-column: 2;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.coh-right {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    overflow: hidden;
}
.coh-detail-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid var(--border-color);
    align-items: center;
}
.coh-detail {
    flex: 1;
    min-height: 200px;
    overflow: auto;
    padding: 0;
    background: #fafafa;
}
.theme-dark .coh-detail {
    background: rgba(0, 0, 0, 0.2);
}
.coh-detail-iframe {
    width: 100%;
    min-height: 280px;
    height: 100%;
    border: none;
    display: block;
    background: #fff;
}
.coh-detail-placeholder {
    margin: 0;
    padding: 1rem;
    color: var(--text-secondary);
    font-size: 0.9rem;
}
.coh-detail-loading {
    padding: 1rem;
    color: var(--text-secondary);
}
@media (max-width: 720px) {
    .customers-order-history-modal {
        grid-template-columns: 1fr;
        max-height: none;
    }
    .coh-list {
        max-height: 200px;
    }
}

/* Hızlı aksiyon onay modalı */
.customers-quick-action-modal .modal-body { padding: 1rem 1.25rem; }
.customers-quick-action-customer {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: var(--text-primary);
}
.customers-quick-action-hint {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0;
}

/* Müşteriler — ortak modal-container (tahsilat) + müşteri hub paneli */
.modal-container.modal-container--tahsilat {
    max-width: 30rem;
    width: 92%;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    overflow: hidden;
}
.modal-container.modal-container--tahsilat .modal-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.modal-container.modal-container--tahsilat.modal-container--cari-debt {
    border: 1px solid rgba(211, 47, 47, 0.32);
    box-shadow: 0 10px 36px rgba(211, 47, 47, 0.1);
}
.modal-container.modal-container--tahsilat.modal-container--cari-debt .modal-header {
    background: linear-gradient(180deg, rgba(211, 47, 47, 0.08) 0%, transparent 100%);
    border-bottom: 1px solid rgba(211, 47, 47, 0.18);
}
.modal-container.modal-container--tahsilat.modal-container--cari-debt .modal-title {
    color: #b71c1c;
}
.theme-dark .modal-container.modal-container--tahsilat.modal-container--cari-debt .modal-title {
    color: #ffcdd2;
}
.modal-container.modal-container--tahsilat.modal-container--cari-devir {
    max-width: 36rem;
}
.modal-container.modal-container--tahsilat .form-error-banner {
    display: block;
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--danger, #dc3545);
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.3);
    border-radius: 8px;
}
.customers-cari-modal-customer-name {
    margin: 0 0 0.5rem;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.9rem;
}
.customers-cari-modal-hint {
    margin: 0 0 0.75rem;
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.35;
}
.customers-cari-modal-hint--debt {
    color: #b71c1c;
}
.theme-dark .customers-cari-modal-hint--debt {
    color: #ef9a9a;
}
.customers-cari-modal-inline-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    align-items: flex-end;
}
.customers-cari-modal-inline-row .form-group {
    flex: 1 1 10rem;
    margin-bottom: 0.75rem;
}
.customers-cari-modal-field--belge {
    flex: 1 1 12rem;
    min-width: 0;
}
.customers-cari-modal-field--dt {
    flex: 1 1 12rem;
    min-width: 11rem;
}
.modal-footer--tahsilat-edit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.modal-footer--tahsilat-edit .modal-footer-spacer {
    flex: 1 1 auto;
    min-width: 0.5rem;
}
.customers-modal-action-btn--outline-danger {
    background: transparent;
    border: 1px solid rgba(198, 40, 40, 0.55);
    color: #c62828;
}
.customers-modal-action-btn--outline-danger:hover:not(:disabled) {
    background: rgba(198, 40, 40, 0.08);
}
.modal-container.modal-container--hub-extract {
    max-width: min(96vw, 52rem);
    width: 94%;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
}
.modal-body.modal-body--hub-extract {
    flex: 1;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}
.hub-extract-loading {
    padding: 2rem;
    text-align: center;
    color: var(--text-muted);
}
.hub-extract-frame {
    display: block;
    width: 100%;
    min-height: 420px;
    height: min(58vh, 480px);
    border: 0;
    background: #fff;
}
.hub-extract-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 14px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    background: var(--surface-muted, #f8f9fb);
}
.hub-extract-date-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.78rem;
    color: var(--text-muted);
    min-width: 9rem;
}
.hub-extract-date-input {
    font-size: 0.88rem;
    padding: 0.35rem 0.5rem;
}
.hub-extract-filter-btn {
    align-self: flex-end;
    margin-bottom: 1px;
}
.hub-extract-period-only {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--text-color, #333);
    cursor: pointer;
    user-select: none;
    margin-left: 0.25rem;
    padding: 0.35rem 0;
}
.hub-extract-period-only input {
    margin: 0;
}
.hub-extract-detail-toggle {
    display: inline-flex;
    align-items: stretch;
    margin-left: 0.35rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-secondary, #f6f7f9);
}
.hub-extract-detail-btn {
    border: none;
    background: transparent;
    color: var(--text-muted, #667085);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.4rem 0.75rem;
    cursor: pointer;
    line-height: 1.2;
}
.hub-extract-detail-btn + .hub-extract-detail-btn {
    border-left: 1px solid var(--border-color, #d0d5dd);
}
.hub-extract-detail-btn.active {
    background: var(--primary, #1565c0);
    color: #fff;
}
.hub-extract-detail-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.theme-dark .hub-extract-detail-toggle {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-dark .hub-extract-detail-btn + .hub-extract-detail-btn {
    border-left-color: rgba(255, 255, 255, 0.12);
}
.modal-footer.modal-footer--hub-extract {
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.modal-container.modal-container--hub-extract-email {
    max-width: min(96vw, 28rem);
    width: 92%;
}
.hub-extract-email-hint {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin: 0 0 12px;
    line-height: 1.45;
}
.modal-container.modal-container--invoice-wizard {
    max-width: min(98vw, 72rem);
    width: 96%;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}
.iw-stock-view {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--text-primary);
    padding: 0.35rem 0.15rem;
    line-height: 1.35;
}
.modal-container.modal-container--invoice-wizard.is-view-only .iw-cari-panel-head {
    cursor: default;
}
.modal-body.modal-body--invoice-wizard {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.65rem 0.85rem 0.75rem;
    background-color: var(--lighter-gray);
}
.invoice-wizard-layout {
    display: grid;
    grid-template-columns: minmax(11.5rem, 13rem) minmax(0, 1fr);
    gap: 0.75rem;
    min-height: 0;
}
.invoice-wizard-layout--stacked {
    display: block;
    min-height: 0;
}
.invoice-wizard-sidebar {
    border-right: 1px solid var(--border-color);
    background: var(--lighter-gray);
    padding: 1rem 0.9rem;
    height: fit-content;
    position: sticky;
    top: 0;
}
.iw-cari-panel {
    margin-bottom: 0.85rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(25, 118, 210, 0.06) 0%, rgba(255, 255, 255, 0) 55%);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.iw-cari-panel.is-expanded {
    /* İl/ilçe select2 dropdown panel dışına taşar; kesilmesin */
    overflow: visible;
    border-color: rgba(25, 118, 210, 0.35);
}
.theme-dark .iw-cari-panel {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.12) 0%, rgba(255, 255, 255, 0.02) 55%);
}
.iw-cari-panel-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.iw-cari-panel-head:hover {
    background: rgba(25, 118, 210, 0.04);
}
.iw-cari-avatar {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, rgba(25, 118, 210, 0.18), rgba(25, 118, 210, 0.08));
    color: #1565c0;
    font-size: 1rem;
}
.theme-dark .iw-cari-avatar {
    color: #90caf9;
}
.iw-cari-summary {
    flex: 1 1 auto;
    min-width: 0;
}
.iw-cari-name {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.iw-cari-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: var(--text-muted);
}
.iw-cari-type-pill {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(25, 118, 210, 0.12);
    color: #1565c0;
    font-weight: 600;
    font-size: 0.68rem;
}
.iw-cari-missing-pill {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(217, 119, 6, 0.16);
    color: #b45309;
    font-weight: 700;
    font-size: 0.68rem;
}
.theme-dark .iw-cari-type-pill {
    color: #90caf9;
}
.iw-cari-balance {
    flex: 0 0 auto;
    font-size: 0.82rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    padding: 0.2rem 0.55rem;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.04);
}
.iw-cari-toggle {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 0.85rem;
    padding: 0.25rem;
}
.iw-cari-panel-body {
    padding: 0 0.85rem 0.85rem;
    border-top: 1px solid var(--border-color);
}
.iw-cari-fields-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem 0.65rem;
    padding-top: 0.65rem;
}
.iw-cari-field--wide {
    grid-column: span 2;
}
.iw-cari-field--full {
    grid-column: 1 / -1;
}
.iw-cari-fix-hint {
    margin: 0.55rem 0 0;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    background: rgba(217, 119, 6, 0.12);
    border: 1px solid rgba(217, 119, 6, 0.35);
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 600;
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    line-height: 1.35;
}
.iw-cari-fix-hint .fa-exclamation-circle {
    margin-top: 0.1rem;
    flex-shrink: 0;
}
.iw-req {
    color: #dc2626;
    font-weight: 700;
}
.iw-cari-field--required input,
.iw-cari-field--required textarea,
.iw-cari-field--required .filter-input {
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.25);
}
.iw-cari-fields-grid .form-group {
    margin-bottom: 0;
}
.iw-cari-fields-grid label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 0.15rem;
}
.iw-cari-fields-grid textarea.filter-input {
    min-height: 2.6rem;
    resize: vertical;
}
/* Fatura sihirbazı cari kartı: il/ilçe arama */
.modal-container--invoice-wizard .iw-cari-panel .select2-wrap {
    position: relative;
    z-index: 2;
}
.modal-container--invoice-wizard .iw-cari-panel .select2-wrap.is-open {
    z-index: 40;
}
.modal-container--invoice-wizard .iw-cari-panel .select2-wrap .form-control[readonly] {
    cursor: pointer;
    background: var(--white);
}
.theme-dark .modal-container--invoice-wizard .iw-cari-panel .select2-wrap .form-control[readonly] {
    background: var(--input-bg, #1e1e1e);
}
.modal-container--invoice-wizard .iw-cari-panel .select2-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 2px;
    background: var(--white);
    border: 1px solid var(--medium-gray, var(--border-color));
    border-radius: var(--border-radius, 8px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    z-index: 50;
    max-height: 220px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.theme-dark .modal-container--invoice-wizard .iw-cari-panel .select2-dropdown {
    background: var(--card-bg, #252525);
    border-color: var(--border-color);
}
.modal-container--invoice-wizard .iw-cari-panel .select2-dropdown input.form-control {
    margin: 0.35rem;
    border-radius: var(--border-radius, 8px);
    flex: 0 0 auto;
}
.modal-container--invoice-wizard .iw-cari-panel .select2-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}
.modal-container--invoice-wizard .iw-cari-panel .select2-dropdown ul li {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
}
.modal-container--invoice-wizard .iw-cari-panel .select2-dropdown ul li:hover {
    background: rgba(25, 118, 210, 0.1);
    color: var(--primary, #1976d2);
}
.iw-cari-save-btn {
    margin-top: 0.65rem;
}
@media (max-width: 720px) {
    .iw-cari-fields-grid {
        grid-template-columns: 1fr 1fr;
    }
    .iw-cari-field--wide {
        grid-column: span 2;
    }
    .iw-cari-balance {
        display: none;
    }
}
.theme-dark .invoice-wizard-sidebar {
    background: rgba(255, 255, 255, 0.06);
}
.invoice-wizard-main {
    min-width: 0;
    padding-top: 0;
    padding-bottom: 0.25rem;
}
.iw-sidebar-save-btn {
    width: 100%;
    margin-top: 0.35rem;
}
.iw-section {
    margin-bottom: 0.85rem;
}
.iw-section--lines {
    margin-bottom: 0.5rem;
}
.iw-section--bottom {
    margin-bottom: 0;
    padding-top: 0.15rem;
}
.invoice-wizard-table-scroll {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}
.invoice-wizard-top-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}
.iw-iade-switch {
    margin: 0;
    min-height: 2.15rem;
    padding: 0 0.45rem;
    border: 1px solid var(--border-color, #d7dbe0);
    border-radius: 8px;
    background: var(--input-bg, #fff);
}
.iw-kdv-toggle {
    display: inline-flex;
    width: 100%;
    border: 1px solid var(--border-color, #d7dbe0);
    border-radius: 8px;
    overflow: hidden;
    background: var(--input-bg, #fff);
}
.iw-kdv-toggle button {
    flex: 1 1 0;
    border: 0;
    background: transparent;
    padding: 0.42rem 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary, #6b7280);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.iw-kdv-toggle button + button { border-left: 1px solid var(--border-color, #d7dbe0); }
.iw-kdv-toggle button.active {
    background: #2e7d32;
    color: #fff;
}
.iw-kdv-toggle button:disabled { opacity: 0.6; cursor: default; }
.theme-dark .iw-kdv-toggle { border-color: rgba(255,255,255,0.15); }
.theme-dark .iw-kdv-toggle button.active { background: #43a047; }
.invoice-wizard-customer-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem 0.55rem;
    margin: 0.25rem 0 0.65rem;
}
.iw-cari-cell {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: rgba(0, 0, 0, 0.02);
    min-width: 0;
}
.theme-dark .iw-cari-cell {
    background: rgba(255, 255, 255, 0.04);
}
.iw-cari-cell--wide { grid-column: span 2; }
.iw-cari-label {
    font-size: 0.7rem;
    color: var(--text-muted);
    font-weight: 600;
}
.iw-cari-cell strong {
    font-size: 0.82rem;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.swal2-container--invoice-barcode {
    z-index: 27500 !important;
}
.invoice-wizard-control {
    flex: 1 1 10rem;
    min-width: 8rem;
    margin: 0;
}
.invoice-wizard-control label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0.2rem;
    display: block;
}
.invoice-wizard-dipnot {
    width: 100%;
    max-width: 32rem;
    margin: 0;
}
.invoice-wizard-dipnot textarea {
    min-height: 4.6rem;
    resize: vertical;
    width: 100%;
}
.iw-stock-wrap {
    position: relative;
}
.iw-stock-input-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.iw-stock-picker-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    height: 2rem;
    padding: 0 0.5rem;
    border-radius: 8px;
    border: 1px solid rgba(66, 165, 245, 0.45);
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.15), rgba(33, 150, 243, 0.07));
    color: #1565c0;
    font-size: 0.76rem;
    font-weight: 700;
    cursor: pointer;
    flex: 0 0 auto;
}
.iw-stock-picker-btn:hover {
    box-shadow: 0 2px 8px rgba(33, 150, 243, 0.2);
}
.theme-dark .iw-stock-picker-btn {
    color: #90caf9;
}
.iw-product-hits {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 5000;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
    max-height: 11rem;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--card-bg);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
/* Modal overflow kesmesin diye body teleport + JS viewport konumu */
.iw-product-hits.iw-product-hits--fixed {
    position: fixed !important;
    right: auto !important;
    margin: 0 !important;
    max-height: min(11rem, 40vh);
    z-index: 14050;
    overflow-y: auto;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}
.iw-product-hit {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    text-align: left;
    padding: 0.4rem 0.5rem;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 0.78rem;
    color: var(--text-primary);
}
.iw-product-hit:hover {
    background: rgba(233, 30, 99, 0.08);
}
.iw-ph-name {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    flex: 1;
}
.iw-ph-name-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.iw-ph-kind {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    letter-spacing: 0.02em;
}
.iw-ph-kind--urun {
    background: rgba(33, 150, 243, 0.15);
    color: #1565c0;
}
.iw-ph-kind--hammadde {
    background: rgba(255, 193, 7, 0.22);
    color: #e65100;
}
.theme-dark .iw-ph-kind--urun {
    color: #90caf9;
}
.theme-dark .iw-ph-kind--hammadde {
    color: #ffcc80;
}
.iw-ph-price {
    font-weight: 700;
    color: var(--text-secondary);
    white-space: nowrap;
}
.invoice-wizard-totals-block {
    margin-top: 0.65rem;
    padding: 0.5rem 0;
}
.invoice-wizard-total-row--muted {
    font-size: 0.88rem;
    opacity: 0.92;
}
.invoice-wizard-total-row--grand {
    margin-top: 0.35rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-color);
    font-size: 1rem;
}
.invoice-wizard-table .iw-col-stock { min-width: 18rem; }
.invoice-wizard-table .iw-col-isk { min-width: 8.6rem; width: 8.6rem; max-width: none; }
.customers-modal-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.5rem 0.95rem;
    font-size: 0.88rem;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.08s, box-shadow 0.15s;
}
.customers-modal-action-btn:hover {
    transform: translateY(-1px);
}
.customers-modal-action-btn--pdf {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.35) 0%, rgba(33, 150, 243, 0.25) 100%);
    border-color: #42A5F5;
    color: #1976d2;
}
.customers-modal-action-btn--receipt {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.25) 100%);
    border-color: #66BB6A;
    color: #2e7d32;
}
.customers-modal-action-btn--mail {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.25) 0%, rgba(63, 81, 181, 0.2) 100%);
    border-color: #5C6BC0;
    color: #3949ab;
}
.customers-modal-action-btn--secondary {
    background: var(--card-bg);
    border-color: var(--border-color);
    color: var(--text-secondary);
}
.customers-modal-action-btn--dismiss {
    background: #eceff1;
    border-color: #90a4ae;
    color: #37474f;
}
.theme-dark .customers-modal-action-btn--dismiss {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.22);
    color: #cfd8dc;
}
.customers-modal-action-btn--primary {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.4) 0%, rgba(76, 175, 80, 0.3) 100%);
    border-color: #66BB6A;
    color: #1b5e20;
}
.customers-modal-action-btn--success {
    background: linear-gradient(135deg, rgba(129, 199, 132, 0.45) 0%, rgba(76, 175, 80, 0.35) 100%);
    border-color: #4caf50;
    color: #1b5e20;
}
.customers-modal-action-btn--danger {
    background: linear-gradient(135deg, rgba(239, 83, 80, 0.42) 0%, rgba(229, 57, 53, 0.32) 100%);
    border-color: #e53935;
    color: #b71c1c;
}
.theme-dark .customers-modal-action-btn--danger {
    color: #ffcdd2;
}
.customers-modal-action-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}
.customers-modal-action-btn--addline {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.25) 0%, rgba(76, 175, 80, 0.15) 100%);
    border-color: #81c784;
    color: #2e7d32;
}
.modal-footer--hub-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    align-items: flex-start;
    border-top: 1px solid var(--border-color);
    padding: 0.75rem 1rem;
}
.modal-footer--hub-detail-actions--compact {
    justify-content: flex-start;
}
.hub-detail-fatura-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: min(100%, 280px);
    flex: 1 1 240px;
}
.hub-detail-fatura-main-btn {
    min-height: 2.5rem;
    padding: 0.5rem 1rem;
    font-weight: 700;
}
.hub-detail-fatura-main-hint {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text-muted, #6b7280);
    max-width: 320px;
}
.hub-detail-fatura-alt-btn {
    margin-top: 0.15rem;
    padding: 0.2rem 0;
    min-height: auto;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    background: transparent;
    color: var(--text-muted, #6b7280);
    box-shadow: none;
}
.hub-detail-fatura-alt-btn:hover {
    color: var(--primary, #1976d2);
    text-decoration: underline;
    background: transparent;
}
.hub-detail-fatura-divider {
    width: 1px;
    align-self: stretch;
    background: var(--border-color);
    margin: 0 0.15rem;
}
.hub-detail-share-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    align-items: center;
    flex: 1 1 auto;
}
.customers-modal-action-btn--link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.modal-footer.modal-footer--invoice-wizard {
    gap: 0.5rem;
    justify-content: flex-end;
}
.invoice-wizard-table-wrap {
    overflow: visible;
    margin: 0.35rem 0 0.35rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--card-bg);
}
.iw-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.iw-bottom-left {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.45rem;
}
.customers-modal-action-btn--convert {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.28) 0%, rgba(251, 140, 0, 0.16) 100%);
    border-color: #ffb74d;
    color: #e65100;
}
.theme-dark .customers-modal-action-btn--convert {
    color: #ffe0b2;
}
.iw-convert-applied {
    font-size: 0.8rem;
    color: var(--text-muted, #666);
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.modal-container.modal-container--invoice-convert { max-width: 480px; }
.modal-container--invoice-convert .modal-body { padding: 1.1rem 1.2rem 1.15rem; }
.modal-container--invoice-convert .form-group {
    margin-bottom: 0.85rem;
}
.modal-container--invoice-convert .form-group label {
    display: block !important;
    cursor: default;
    align-items: unset;
    gap: 0;
    margin-bottom: 0.35rem;
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-primary, #333);
}
.modal-container--invoice-convert .form-group input,
.modal-container--invoice-convert .iw-convert-input,
.modal-container--invoice-convert .form-control {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 2.45rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color, #d0d0d0);
    border-radius: 8px;
    background: var(--input-bg, #fff);
    color: var(--text-primary, #222);
    font-size: 0.9rem;
    font-family: inherit;
    line-height: 1.3;
    -webkit-appearance: none;
    appearance: none;
}
.modal-container--invoice-convert .form-group input:focus,
.modal-container--invoice-convert .iw-convert-input:focus,
.modal-container--invoice-convert .form-control:focus {
    outline: none;
    border-color: var(--primary, #e53935);
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.15);
}
.theme-dark .modal-container--invoice-convert .form-group input,
.theme-dark .modal-container--invoice-convert .iw-convert-input,
.theme-dark .modal-container--invoice-convert .form-control {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.22);
    color: var(--text-primary, #eee);
}
.theme-dark .modal-container--invoice-convert .form-group input::placeholder,
.theme-dark .modal-container--invoice-convert .iw-convert-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}
.modal-container--invoice-convert .iw-quick-create-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
.modal-container--invoice-convert .modal-footer {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.iw-convert-error {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    background: rgba(239, 83, 80, 0.12);
    color: #c62828;
    font-size: 0.82rem;
    line-height: 1.4;
}
.theme-dark .iw-convert-error {
    background: rgba(239, 83, 80, 0.2);
    color: #ffcdd2;
}
.iw-convert-hint {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
    color: var(--text-muted, #666);
    line-height: 1.4;
}
.iw-convert-amount {
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
}
.iw-convert-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}
.iw-convert-tpl-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    width: 100%;
    text-align: left;
    border: 1px solid rgba(120, 120, 120, 0.28);
    border-radius: 10px;
    background: var(--input-bg, #fff);
    padding: 0.65rem 0.8rem;
    cursor: pointer;
    color: inherit;
}
.iw-convert-tpl-row:hover {
    border-color: #ffb74d;
    background: rgba(255, 167, 38, 0.08);
}
.iw-convert-tpl-row--manage {
    flex-direction: row;
    align-items: center;
    cursor: default;
    padding-right: 0.4rem;
}
.iw-convert-tpl-pick {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
    padding: 0.15rem 0.25rem;
}
.iw-convert-tpl-name { font-weight: 700; }
.iw-convert-tpl-meta {
    font-size: 0.78rem;
    color: var(--text-muted, #666);
}
.iw-convert-stock-row {
    display: flex;
    align-items: stretch;
    gap: 0.4rem;
}
.iw-convert-stock-row .iw-convert-input,
.modal-container--invoice-convert .iw-convert-stock-row .form-control,
.modal-container--invoice-convert .iw-convert-stock-row .iw-convert-input {
    width: auto !important;
    flex: 1 1 auto;
    min-width: 0;
}
.iw-convert-stock-row .iw-stock-create-btn {
    flex: 0 0 2.45rem;
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    min-height: 2.45rem;
    border-radius: 8px;
    justify-content: center;
}
.iw-convert-hits {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0.2rem 0;
    max-height: 12rem;
    overflow: auto;
    border: 1px solid var(--border-color, rgba(120, 120, 120, 0.22));
    border-radius: 8px;
    background: var(--input-bg, #fff);
}
.theme-dark .iw-convert-hits {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
}
.iw-convert-hits .iw-product-hit {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.7rem;
    border: 0;
    background: transparent;
    color: var(--text-primary, #222);
    cursor: pointer;
    text-align: left;
}
.iw-convert-hits .iw-ph-name {
    color: var(--text-primary, #222);
    flex: 1;
    min-width: 0;
}
.iw-convert-hits .iw-ph-name-text {
    color: var(--text-primary, #222);
    font-weight: 600;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.theme-dark .iw-convert-hits .iw-ph-name,
.theme-dark .iw-convert-hits .iw-ph-name-text {
    color: var(--text-primary, #f3f3f3);
}
.iw-convert-hits .iw-ph-price {
    flex-shrink: 0;
    font-size: 0.78rem;
    color: var(--text-muted, #666);
}
.iw-convert-create-from-search {
    margin-top: 0.35rem;
    width: 100%;
    border: 1px dashed #81c784;
    border-radius: 8px;
    background: rgba(76, 175, 80, 0.08);
}
.iw-convert-hits .iw-product-hit:hover {
    background: rgba(255, 167, 38, 0.12);
}
.iw-convert-picked {
    display: block;
    margin-top: 0.3rem;
    color: #2e7d32;
}
.iw-import-footer-btn {
    height: 2rem;
    border-radius: 8px;
    border: 1px solid rgba(66, 165, 245, 0.5);
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.18), rgba(33, 150, 243, 0.08));
    color: #1565c0;
    cursor: pointer;
    padding: 0 0.65rem;
    font-size: 0.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.theme-dark .iw-import-footer-btn {
    color: #90caf9;
}
.iw-import-footer-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.iw-bottom-right {
    margin-left: auto;
    width: min(100%, 18rem);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.3rem 0.5rem;
    background: rgba(0, 0, 0, 0.02);
}
.theme-dark .iw-bottom-right {
    background: rgba(255, 255, 255, 0.04);
}
.iw-tot-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    padding: 0.15rem 0;
}
.iw-tot-line span {
    color: var(--text-secondary);
}
.iw-tot-line strong {
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}
.iw-tot-line--grand {
    margin-top: 0.2rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--border-color);
    font-size: 0.9rem;
}
.iw-tot-line--payable {
    margin-top: 0.15rem;
    font-size: 0.95rem;
    font-weight: 700;
}
.iw-tot-line--payable strong { color: var(--primary, #1976d2); }
.iw-after-vat-unit {
    font-size: 0.78rem;
    color: var(--text-secondary);
    font-weight: 600;
}
.invoice-wizard-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}
.invoice-wizard-table th,
.invoice-wizard-table td {
    padding: 0.35rem 0.45rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}
.invoice-wizard-table th {
    text-align: left;
    font-weight: 700;
    color: var(--text-secondary);
    background: rgba(0, 0, 0, 0.03);
}
.theme-dark .invoice-wizard-table th {
    background: rgba(255, 255, 255, 0.05);
}
.invoice-wizard-table tbody tr:last-child td {
    border-bottom: none;
}
.invoice-wizard-table .iw-col-qty { width: 4.5rem; }
.invoice-wizard-table .iw-col-unit { width: 9.25rem; }
.invoice-wizard-table .iw-col-price { width: 6rem; }
.iw-price-mode-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text-muted, #6b7280);
    opacity: 0.85;
}
.invoice-wizard-table .iw-col-kdv { width: 4.3rem; }
.invoice-wizard-table .iw-col-line { width: 7.75rem; text-align: right; white-space: nowrap; }
.invoice-wizard-table .iw-col-act { width: 2rem; padding-left: 0; padding-right: 0.25rem; }
.invoice-wizard-table .iw-line-total {
    text-align: right;
    font-weight: 600;
    color: var(--text-primary);
    white-space: normal;
}
.iw-line-amounts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.12rem;
    min-width: 6.5rem;
}
.iw-line-amt {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--text-secondary, #6b7280);
    line-height: 1.2;
}
.iw-line-amt--main {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--text-primary);
}
.iw-line-amt-k {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0.7;
}
.iw-line-amt strong {
    font-variant-numeric: tabular-nums;
    font-weight: inherit;
    color: inherit;
}
.invoice-wizard-table .form-control--compact {
    width: 100%;
    min-height: 2rem;
    padding: 0.28rem 0.4rem;
    font-size: 0.82rem;
    border-radius: 8px;
    border-color: rgba(120, 120, 120, 0.22);
}
.iw-input-invalid {
    border-color: #ef5350 !important;
    box-shadow: 0 0 0 1px rgba(239, 83, 80, 0.25) inset;
}
.invoice-wizard-table--simple .iw-col-stock { min-width: 11rem; }
.invoice-wizard-table--simple .iw-kdv-input { max-width: 3.75rem; }
.invoice-wizard-table--simple .iw-stock-picker-btn span { display: none; }
.invoice-wizard-table--simple .iw-stock-picker-btn { min-width: 2.35rem; padding: 0.3rem 0.45rem; justify-content: center; }
.invoice-wizard-table--simple .iw-stock-create-btn { color: #047857; border-color: #a7f3d0; }
.iw-tot-line--input { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.iw-global-disc-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
}
.iw-disc-unit-toggle {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid rgba(120, 120, 120, 0.28);
    border-radius: 8px;
    overflow: hidden;
    background: var(--input-bg, #fff);
}
.iw-disc-unit-btn {
    border: 0;
    background: transparent;
    color: var(--text-muted, #666);
    padding: 0.28rem 0.45rem;
    min-width: 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
.iw-disc-unit-btn + .iw-disc-unit-btn {
    border-left: 1px solid rgba(120, 120, 120, 0.22);
}
.iw-disc-unit-btn.active {
    background: #43a047;
    color: #fff;
}
.theme-dark .iw-disc-unit-toggle {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
}
.theme-dark .iw-disc-unit-btn + .iw-disc-unit-btn {
    border-left-color: rgba(255, 255, 255, 0.14);
}
.iw-global-disc-input {
    max-width: 5rem;
    min-width: 4.25rem;
    width: 5rem;
    margin-left: 0;
    text-align: right;
    min-height: 2rem;
    padding: 0.28rem 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    border-radius: 8px;
    border: 1px solid rgba(120, 120, 120, 0.28);
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    box-sizing: border-box;
}
.iw-global-disc-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(255, 23, 68, 0.15);
}
.theme-dark .iw-global-disc-input {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
}
.invoice-wizard-table--simple .iw-isk-input {
    max-width: 2.65rem;
    width: 2.65rem;
    text-align: right;
    min-height: 2rem;
    padding: 0.28rem 0.25rem;
    font-size: 0.78rem;
    border-radius: 8px;
    border: 1px solid rgba(120, 120, 120, 0.22);
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    box-sizing: border-box;
}
.iw-isk-triple {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}
.iw-isk-cell { white-space: nowrap; }
.theme-dark .invoice-wizard-table--simple .iw-isk-input {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
}
.iw-product-hit--create { color: #047857; font-weight: 600; }
.iw-product-hit--create i { margin-right: 0.35rem; }
.modal-container.modal-container--invoice-quick-create { max-width: 460px; }
.modal-container--invoice-quick-create .iw-loc-select-row .select2-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 2;
}
.modal-container--invoice-quick-create .select2-wrap.is-open { z-index: 40; }
.modal-container--invoice-quick-create .select2-wrap .form-control[readonly] {
    cursor: pointer;
    background: var(--white, #fff);
}
.theme-dark .modal-container--invoice-quick-create .select2-wrap .form-control[readonly] {
    background: var(--input-bg, #1e1e1e);
}
.modal-container--invoice-quick-create .select2-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 2px;
    background: var(--white, #fff);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    z-index: 50;
    max-height: 220px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.theme-dark .modal-container--invoice-quick-create .select2-dropdown {
    background: var(--card-bg, #252525);
    border-color: var(--border-color);
}
.modal-container--invoice-quick-create .select2-dropdown input.form-control {
    margin: 0.35rem;
    border-radius: 8px;
    flex: 0 0 auto;
}
.modal-container--invoice-quick-create .select2-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    overflow-y: auto;
    max-height: 11rem;
}
.modal-container--invoice-quick-create .select2-dropdown ul li {
    padding: 0.45rem 0.75rem;
    cursor: pointer;
    font-size: 0.9rem;
}
.modal-container--invoice-quick-create .select2-dropdown ul li:hover {
    background: rgba(76, 175, 80, 0.12);
}
.modal-container--invoice-quick-create .select2-dropdown ul li.muted {
    color: var(--text-muted, #888);
    cursor: default;
}
.modal-container--invoice-quick-create .select2-dropdown ul li.muted:hover {
    background: transparent;
}
.modal-container--invoice-quick-create .select2-wrap.iw-input-invalid .form-control {
    border-color: #ef5350 !important;
}
.iw-quick-create-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.iw-quick-conv-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.iw-quick-conv-row .form-control { min-width: 0; flex: 1; }
.iw-quick-conv-row span { flex-shrink: 0; font-size: 0.85rem; color: #6b7280; }
.iw-unit-conv-hint {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.68rem;
    color: #6b7280;
    line-height: 1.25;
}
.iw-unit-conv-chip {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin-top: 0.28rem;
    padding: 0.22rem 0.4rem;
    border-radius: 6px;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.22);
    line-height: 1.25;
    max-width: 11rem;
}
.iw-unit-conv-chip__qty {
    font-size: 0.68rem;
    color: #047857;
    font-weight: 600;
}
.iw-unit-conv-chip__cost {
    font-size: 0.66rem;
    color: #065f46;
}
.iw-unit-select-row {
    display: flex;
    align-items: center;
    gap: 0.28rem;
}
.iw-unit-select-row .form-control,
.iw-unit-select {
    min-width: 8.25rem;
    flex: 1;
    font-size: 0.86rem;
}
.iw-unit-select:disabled {
    opacity: 0.78;
    cursor: not-allowed;
    background: var(--bg-secondary, #f8fafc);
    color: #94a3b8;
}
.theme-dark .iw-unit-select:disabled {
    background: rgba(255, 255, 255, 0.06);
    color: #94a3b8;
}
.iw-unit-pack-btn {
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    border: 1px solid var(--border-color, #d1d5db);
    border-radius: 7px;
    background: #fff;
    color: var(--primary, #0d9488);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.78rem;
}
.theme-dark .iw-unit-pack-btn {
    background: var(--bg-secondary, #1f2937);
    color: #5eead4;
}
.iw-unit-pack-btn--ok {
    color: #2e7d32;
    border-color: #81c784;
    background: #e8f5e9;
}
.iw-unit-pack-btn--ok:hover {
    background: #c8e6c9;
}
.iw-unit-pack-btn--need {
    color: #ef6c00;
    border-color: #ffcc80;
    background: #fff3e0;
}
.iw-unit-pack-btn--need:hover {
    background: #ffe0b2;
}
.theme-dark .iw-unit-pack-btn--ok {
    background: rgba(76, 175, 80, 0.22);
    border-color: #66bb6a;
    color: #a5d6a7;
}
.theme-dark .iw-unit-pack-btn--need {
    background: rgba(255, 152, 0, 0.22);
    border-color: #ffb74d;
    color: #ffcc80;
}
.iw-line-crumb-row td {
    padding: 0.05rem 0.5rem 0.45rem 0.5rem !important;
    border-top: 0 !important;
    background: transparent;
}
.iw-line-crumb {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
}
.theme-dark .iw-line-crumb {
    color: #94a3b8;
}
.modal-container.modal-container--invoice-pack {
    max-width: min(96vw, 32rem);
    width: 94%;
}
.modal-container.modal-container--invoice-pack .modal-footer.modal-footer--pack {
    justify-content: flex-end;
    flex-wrap: wrap;
}
.iw-pack-footer-clear {
    margin-right: auto;
}
.modal-container.modal-container--invoice-pack-ask {
    max-width: min(96vw, 24rem);
    width: 92%;
}
.iw-pack-modal-product {
    margin: 0 0 0.85rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
}
.iw-pack-ask-copy {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--text-primary);
}
.iw-pack-eq-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--border-color, #e5e7eb);
}
.iw-pack-eq-row:last-child {
    border-bottom: 0;
}
.iw-pack-eq-one {
    flex-shrink: 0;
    width: 1.1rem;
    font-weight: 700;
    color: #64748b;
}
.iw-pack-eq-sign {
    flex-shrink: 0;
    color: #94a3b8;
    font-weight: 600;
}
.modal-container--invoice-pack .form-control {
    min-height: 2.15rem;
    padding: 0.32rem 0.55rem;
    font-size: 0.86rem;
    font-family: var(--font-family-base);
    line-height: 1.3;
    border-radius: 8px;
    border: 1px solid rgba(120, 120, 120, 0.28);
    background: var(--white, #fff);
    color: var(--text-primary, #333);
    outline: none;
    box-sizing: border-box;
}
.modal-container--invoice-pack select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 1.7rem;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23555' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
}
.modal-container--invoice-pack .form-control:focus {
    border-color: var(--primary, #0d9488);
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}
.theme-dark .modal-container--invoice-pack .form-control {
    background: var(--bg-secondary, #1f2937);
    border-color: rgba(255, 255, 255, 0.18);
    color: var(--text-primary, #e5e7eb);
}
.iw-pack-eq-unit {
    width: 8.5rem;
    min-width: 8.5rem;
    flex: 0 0 8.5rem;
}
.iw-pack-eq-qty {
    width: 4.6rem;
    flex: 0 0 4.6rem;
    text-align: center;
}
.iw-pack-eq-x {
    margin-left: auto;
    width: 1.7rem;
    height: 1.7rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
}
.iw-pack-eq-x:hover {
    background: #fee2e2;
    color: #b91c1c;
}
.iw-pack-eq-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
.iw-pack-eq-add {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid rgba(13, 148, 136, 0.38);
    background: #fff;
    color: var(--primary, #0d9488);
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
}
.iw-pack-eq-add i {
    font-size: 0.78rem;
}
.iw-pack-eq-add:hover:not(:disabled) {
    background: rgba(13, 148, 136, 0.08);
}
.iw-pack-eq-add:disabled {
    opacity: 0.4;
    cursor: default;
}
.theme-dark .iw-pack-eq-add {
    background: var(--bg-secondary, #1f2937);
    border-color: rgba(94, 234, 212, 0.35);
    color: #5eead4;
}
.iw-pack-eq-preview {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.4;
}
.iw-pack-eq-price {
    margin-top: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
.iw-pack-eq-price label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.iw-pack-eq-price .form-control {
    max-width: 12rem;
}
.iw-pack-eq-cost {
    margin: 0.35rem 0 0;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--primary, #0d9488);
}
.products-admin-pack-open {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    width: 100%;
    text-align: left;
    border: 1px solid rgba(13, 148, 136, 0.35);
    background: #fff;
    color: var(--text-primary, #333);
    border-radius: 8px;
    padding: 0.55rem 0.7rem;
    cursor: pointer;
    font-size: 0.86rem;
    line-height: 1.35;
}
.products-admin-pack-open i {
    margin-top: 0.12rem;
    color: var(--primary, #0d9488);
}
.products-admin-pack-open:hover {
    background: rgba(13, 148, 136, 0.08);
}
.theme-dark .products-admin-pack-open {
    background: var(--bg-secondary, #1f2937);
    border-color: rgba(94, 234, 212, 0.35);
    color: var(--text-primary, #e5e7eb);
}
.products-admin-stock-kind {
    display: inline-block;
    margin-left: 0.4rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    vertical-align: middle;
}
.iw-pack-edit--modal {
    margin-top: 0;
}
.iw-pack-ask {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin-top: 0.35rem;
    padding: 0.35rem 0.5rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px dashed var(--border-color, #d1d5db);
    font-size: 0.78rem;
    color: #374151;
}
.iw-pack-ask--modal { margin-top: 0.65rem; }
.iw-pack-ask-btn {
    border: 0;
    background: var(--primary, #0d9488);
    color: #fff;
    border-radius: 6px;
    padding: 0.2rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}
.iw-pack-ask-btn--ghost {
    background: transparent;
    color: #6b7280;
    box-shadow: inset 0 0 0 1px #d1d5db;
}
.iw-pack-edit {
    margin-top: 0.4rem;
    padding: 0.45rem 0.5rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid var(--border-color, #e5e7eb);
}
.iw-pack-edit-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #4b5563;
}
.iw-pack-edit-row .form-control { flex: 1 1 4rem; min-width: 3.5rem; }
.iw-pack-cost {
    margin: 0.25rem 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #047857;
}
.iw-pack-edit-actions { display: flex; gap: 0.35rem; margin-top: 0.25rem; }
.iw-stock-input-row { display: flex; align-items: stretch; gap: 0.25rem; }
.iw-stock-input-row .form-control--compact { flex: 1 1 auto; min-width: 0; }
.iw-import-hint {
    margin: 0.2rem 0 0;
    font-size: 0.72rem;
    color: #c62828;
    line-height: 1.3;
}
.iw-map-row td {
    background: rgba(255, 193, 7, 0.1);
}
.theme-dark .iw-map-row td {
    background: rgba(255, 193, 7, 0.13);
}
.iw-map-cell {
    padding-top: 0.28rem !important;
    padding-bottom: 0.4rem !important;
}
.iw-map-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.iw-map-row-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.45rem;
    align-items: center;
}
.iw-map-search-cell {
    position: relative;
    min-width: 0;
}
.iw-map-qty-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    padding-left: 0.1rem;
}
.iw-map-qty-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary);
    flex-shrink: 0;
}
.iw-map-qty-input {
    max-width: 12rem;
    min-width: 8rem;
}
.iw-map-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-secondary);
}
.iw-map-hits {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    z-index: 13040;
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 11rem;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--card-bg);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
.theme-dark .invoice-wizard-table .form-control--compact {
    border-color: rgba(255, 255, 255, 0.18);
}
.iw-row-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 8px;
    border: 2px solid rgba(244, 81, 30, 0.35);
    background: linear-gradient(135deg, rgba(255, 112, 67, 0.2) 0%, rgba(244, 81, 30, 0.12) 100%);
    color: #e64a19;
    cursor: pointer;
    transition: box-shadow 0.15s, transform 0.1s;
}
.iw-row-map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 8px;
    border: 2px solid rgba(102, 187, 106, 0.4);
    background: linear-gradient(135deg, rgba(129, 199, 132, 0.22) 0%, rgba(76, 175, 80, 0.12) 100%);
    color: #2e7d32;
    cursor: pointer;
    margin-right: 0.2rem;
}
.iw-row-remove:hover:not(:disabled) {
    box-shadow: 0 2px 8px rgba(255, 112, 67, 0.25);
}
.iw-row-remove:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.invoice-wizard-toolbar {
    margin-top: 0;
}
.invoice-wizard-total-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.6rem 0.75rem;
    border-radius: 12px;
    border: 2px solid rgba(102, 187, 106, 0.4);
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.12) 0%, rgba(76, 175, 80, 0.08) 100%);
    font-size: 0.95rem;
    color: var(--text-secondary);
}
.invoice-wizard-total-row strong {
    font-size: 1.05rem;
    color: var(--text-primary);
}
.modal-footer.modal-footer--invoice-wizard {
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}
.modal-footer.modal-footer--invoice-wizard .iw-footer-tools {
    margin-right: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}
.modal-footer.modal-footer--invoice-wizard .iw-footer-tools .customers-modal-action-btn {
    height: 2rem;
    min-height: 2rem;
    padding: 0 0.65rem;
    font-size: 0.8rem;
}
.modal-footer.modal-footer--invoice-wizard .iw-import-footer-btn {
    margin-right: 0;
}
.modal-footer.modal-footer--customer-actions {
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}
.modal-footer.modal-footer--invoice-quick-create {
    justify-content: space-between;
}
.iw-quick-new-group-input {
    margin-top: 0.45rem;
}
.modal-footer.modal-footer--tahsilat-with-cash {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
}
.modal-footer.modal-footer--tahsilat-with-cash .modal-footer-spacer {
    flex: 1 1 auto;
    min-width: 0.25rem;
}
.customer-panel-footer .customers-modal-action-btn {
    min-width: 110px;
}
.modal-container.modal-container--invoice-quick-products {
    max-width: min(94vw, 62rem);
    width: 94%;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.modal-container.modal-container--invoice-quick-products .modal-footer {
    flex-shrink: 0;
}
.modal-container.modal-container--invoice-edm-preview {
    max-width: min(98vw, 56rem);
    width: 98%;
    max-height: 94vh;
    display: flex;
    flex-direction: column;
}
.modal-body.modal-body--invoice-edm-preview {
    flex: 1;
    min-height: 0;
    padding: 0;
    overflow: auto;
    background: #e8e8e8;
}
.invoice-edm-preview-frame {
    display: block;
    width: 100%;
    min-height: min(82vh, 860px);
    height: min(82vh, 860px);
    border: 0;
    background: #fff;
}
.modal-container.modal-container--invoice-edm-sign {
    max-width: min(92vw, 26rem);
}
.modal-container.modal-container--invoice-edm-supplier {
    max-width: min(96vw, 42rem);
    width: 96%;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
}
.efatura-supplier-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
    margin-bottom: 0.5rem;
}
.efatura-supplier-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 500;
}
.efatura-supplier-form-grid .efatura-supplier-span2,
.efatura-supplier-form-grid .fis-ayar-input-group.efatura-supplier-span2 {
    grid-column: 1 / -1;
}
.efatura-supplier-form-grid--modal {
    max-height: min(58vh, 520px);
    overflow: auto;
    padding-right: 0.25rem;
}

/* Ayarlar > E-Fatura / EDM */
.efatura-edm-section .settings-section-description {
    max-width: 52rem;
}
.efatura-edm-kontor-card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    margin-bottom: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16) 0%, rgba(22, 163, 74, 0.06) 100%);
    border: 1px solid rgba(22, 163, 74, 0.35);
    box-shadow: 0 2px 8px rgba(21, 128, 61, 0.08);
}
.efatura-edm-kontor-card--low {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.18) 0%, rgba(234, 88, 12, 0.06) 100%);
    border-color: rgba(234, 88, 12, 0.4);
}
.efatura-edm-kontor-card--empty .efatura-edm-kontor-value {
    color: var(--text-muted, #64748b);
    font-weight: 600;
}
.efatura-edm-kontor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(145deg, #4ade80 0%, #16a34a 55%, #15803d 100%);
    box-shadow: 0 2px 8px rgba(21, 128, 61, 0.35);
}
.efatura-edm-kontor-card--low .efatura-edm-kontor-icon {
    background: linear-gradient(145deg, #fbbf24 0%, #ea580c 55%, #c2410c 100%);
    box-shadow: 0 2px 8px rgba(234, 88, 12, 0.3);
}
.efatura-edm-kontor-icon .fa-leaf {
    font-size: 1.25rem;
    transform: rotate(-14deg);
}
.efatura-edm-kontor-body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1 1 10rem;
}
.efatura-edm-kontor-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
}
.efatura-edm-kontor-value {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.1;
    color: #15803d;
    font-variant-numeric: tabular-nums;
}
.efatura-edm-kontor-card--low .efatura-edm-kontor-value {
    color: #c2410c;
}
.efatura-edm-kontor-hint {
    font-size: 0.8rem;
    color: var(--text-muted, #64748b);
    margin-top: 0.15rem;
}
.efatura-edm-kontor-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    margin-left: auto;
}
.efatura-edm-mukellef-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #15803d;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(22, 163, 74, 0.35);
}
.efatura-edm-mukellef-badge--earsiv {
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.35);
}
.efatura-edm-kontor-refresh {
    white-space: nowrap;
}
.efatura-edm-form-card {
    margin-bottom: 0;
}
.efatura-edm-form-card .card-header {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--light-gray);
}
.efatura-edm-form-card .efatura-supplier-form {
    padding: 1rem 1rem 0.25rem;
}
.efatura-edm-form-group-title {
    margin: 0.75rem 0 0.5rem;
    padding-top: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
    border-top: 1px solid var(--light-gray);
}
.efatura-edm-form-card .efatura-edm-form-group-title:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.efatura-edm-login-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 0.9fr) auto;
    gap: 0.65rem 0.75rem;
    align-items: end;
    margin-bottom: 0.75rem;
}
.efatura-edm-login-row .fis-ayar-input-group {
    min-width: 0;
    margin-bottom: 0;
}
.efatura-edm-login-btn-wrap {
    display: flex;
    align-items: flex-end;
    padding-bottom: 1px;
}
.efatura-edm-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    white-space: nowrap;
    min-height: 2.45rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.efatura-edm-login-row .fis-ayar-input.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
    background-color: rgba(254, 226, 226, 0.45);
}
.theme-dark .efatura-edm-login-row .fis-ayar-input.is-invalid {
    background-color: rgba(127, 29, 29, 0.35);
}
@media (max-width: 900px) {
    .efatura-edm-login-row {
        grid-template-columns: 1fr 1fr;
    }
    .efatura-edm-login-btn-wrap {
        grid-column: 1 / -1;
    }
    .efatura-edm-login-btn {
        width: 100%;
    }
}
.efatura-edm-form-card .fis-ayar-input-group {
    min-width: 0;
}
.efatura-edm-textarea {
    min-height: 4.5rem;
    resize: vertical;
}
.efatura-edm-section .efatura-supplier-check {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--light-gray);
}
.theme-dark .efatura-edm-kontor-card {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.4) 100%);
}
.theme-dark .efatura-edm-kontor-card--low {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.14) 0%, rgba(15, 23, 42, 0.4) 100%);
}
.theme-dark .efatura-edm-mukellef-badge {
    background: rgba(15, 23, 42, 0.55);
}
.theme-dark .efatura-edm-kontor-value {
    color: #4ade80;
}
.theme-dark .efatura-edm-kontor-card--low .efatura-edm-kontor-value {
    color: #fb923c;
}
@media (max-width: 720px) {
    .efatura-edm-kontor-card {
        flex-direction: column;
        align-items: stretch;
    }
    .efatura-edm-kontor-meta {
        margin-left: 0;
        align-items: stretch;
    }
    .efatura-edm-kontor-refresh {
        width: 100%;
        justify-content: center;
    }
    .efatura-edm-section .efatura-supplier-form-grid {
        grid-template-columns: 1fr;
    }
}

.efatura-supplier-actions {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}
.efatura-edm-tabs {
    margin: 0 0 1rem;
}
.efatura-supplier-check {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--light-gray);
}
.theme-dark .efatura-edm-kontor-card {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0.4) 100%);
}
.theme-dark .efatura-edm-kontor-card--low {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.14) 0%, rgba(15, 23, 42, 0.4) 100%);
}
.theme-dark .efatura-edm-mukellef-badge {
    background: rgba(15, 23, 42, 0.55);
}
.theme-dark .efatura-edm-kontor-value {
    color: #4ade80;
}
.theme-dark .efatura-edm-kontor-card--low .efatura-edm-kontor-value {
    color: #fb923c;
}
@media (max-width: 720px) {
    .efatura-edm-kontor-card {
        flex-direction: column;
        align-items: stretch;
    }
    .efatura-edm-kontor-meta {
        margin-left: 0;
        align-items: stretch;
    }
    .efatura-edm-kontor-refresh {
        width: 100%;
        justify-content: center;
    }
    .efatura-edm-section .efatura-supplier-form-grid {
        grid-template-columns: 1fr;
    }
}

.efatura-supplier-actions {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}
.efatura-edm-tabs {
    margin: 0 0 1rem;
}
.efatura-supplier-check {
    grid-column: 1 / -1;
    flex-direction: row !important;
    align-items: center;
    gap: 0.65rem !important;
}
.iw-edm-footer-badge {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-right: auto;
    flex: 1 1 auto;
    min-width: 0;
    max-width: min(100%, 36rem);
    padding: 0.5rem 0.85rem;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.2) 0%, rgba(22, 163, 74, 0.08) 100%);
    border: 1px solid rgba(22, 163, 74, 0.45);
    box-shadow: 0 1px 4px rgba(21, 128, 61, 0.12);
}
.iw-edm-footer-leaf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 50%;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(145deg, #4ade80 0%, #16a34a 55%, #15803d 100%);
    box-shadow: 0 2px 6px rgba(21, 128, 61, 0.35);
}
.iw-edm-footer-leaf .fa-leaf {
    font-size: 0.95rem;
    transform: rotate(-16deg);
}
.iw-edm-footer-main {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    flex-shrink: 0;
    min-width: 5.5rem;
}
.iw-edm-footer-type {
    font-size: 0.92rem;
    font-weight: 700;
    color: #15803d;
    line-height: 1.2;
}
.iw-edm-footer-status {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted, #64748b);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.iw-edm-footer-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.85rem;
    min-width: 0;
    margin-left: auto;
    padding-left: 0.65rem;
    border-left: 1px solid rgba(22, 163, 74, 0.25);
}
.iw-edm-footer-item {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
    font-size: 0.82rem;
}
.iw-edm-footer-item strong {
    font-weight: 700;
    color: var(--text-primary, #1e293b);
}
.iw-edm-footer-k {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted, #64748b);
    flex-shrink: 0;
}
.iw-edm-footer-ettn {
    appearance: none;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: copy;
    font: inherit;
    color: inherit;
    text-align: left;
}
.iw-edm-footer-ettn code {
    font-size: 0.75rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--text-secondary, #475569);
    background: rgba(255, 255, 255, 0.55);
    padding: 0.12rem 0.35rem;
    border-radius: 4px;
}
.theme-dark .iw-edm-footer-ettn code {
    background: rgba(0, 0, 0, 0.2);
}
@media (max-width: 720px) {
    .iw-edm-footer-badge {
        flex-wrap: wrap;
        max-width: 100%;
    }
    .iw-edm-footer-meta {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
        width: 100%;
        padding-top: 0.35rem;
        border-top: 1px solid rgba(22, 163, 74, 0.2);
    }
}
.cmh-efatura-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.35rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    vertical-align: middle;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(145deg, #4ade80 0%, #16a34a 55%, #15803d 100%);
    box-shadow: 0 1px 3px rgba(21, 128, 61, 0.35);
    cursor: help;
}
.cmh-efatura-icon .fa-leaf {
    font-size: 0.62rem;
    line-height: 1;
    transform: rotate(-18deg);
}
.cmh-fatura-pending-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.35rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    vertical-align: middle;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(145deg, #fcd34d 0%, #f59e0b 55%, #d97706 100%);
    box-shadow: 0 1px 3px rgba(217, 119, 6, 0.35);
    cursor: help;
}
.cmh-fatura-pending-icon .fa-file-invoice {
    font-size: 0.58rem;
    line-height: 1;
}
.cmh-fatura-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: 0.5rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    vertical-align: middle;
}
.cmh-fatura-status--block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}
.cmh-fatura-status--block small {
    font-weight: 400;
    font-size: 0.72rem;
    opacity: 0.92;
    line-height: 1.35;
}
.cmh-fatura-status--kesildi {
    color: #14532d;
    background: rgba(34, 197, 94, 0.14);
    border: 1px solid rgba(34, 197, 94, 0.35);
}
.cmh-fatura-status--bekliyor {
    color: #92400e;
    background: rgba(245, 158, 11, 0.14);
    border: 1px solid rgba(245, 158, 11, 0.35);
}
.modal-container.modal-container--hub-fatura-mark {
    width: min(92vw, 480px);
    max-width: min(92vw, 480px);
}
.hub-fatura-mark-hint {
    margin: 0 0 1rem;
    font-size: 0.92rem;
    color: var(--text-muted, #64748b);
    line-height: 1.45;
}
.hub-fatura-mark-error {
    margin: 0.75rem 0 0;
    font-size: 0.88rem;
}
.efatura-preview-doc { font-family: system-ui, sans-serif; padding: 1rem; color: #222; }
.efatura-preview-meta, .efatura-preview-lines { width: 100%; border-collapse: collapse; margin: 0.75rem 0; font-size: 0.9rem; }
.efatura-preview-meta th, .efatura-preview-lines th { text-align: left; padding: 0.35rem 0.5rem; background: #f5f5f5; }
.efatura-preview-meta td, .efatura-preview-lines td { padding: 0.35rem 0.5rem; border-bottom: 1px solid #eee; }
.efatura-xml-fallback { font-size: 0.72rem; white-space: pre-wrap; word-break: break-word; padding: 1rem; margin: 0; }
.modal-body.modal-body--invoice-quick-products {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    overflow: hidden;
    padding-bottom: 0.5rem;
}
.iwqp-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}
.iwqp-search-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--border-color, #d7dbe0);
    border-radius: 10px;
    background: var(--input-bg, #fff);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.iwqp-search-wrap:focus-within {
    border-color: var(--success, #66BB6A);
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.32);
}
.iwqp-search-wrap .fa-search {
    color: var(--text-muted, #8a8f98);
    font-size: 0.9rem;
    flex-shrink: 0;
}
.iwqp-search-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--text-primary);
    outline: none;
    box-shadow: none;
    min-height: 1.35rem;
    appearance: none;
    -webkit-appearance: none;
}
.iwqp-search-input:focus {
    outline: none;
    box-shadow: none;
}
.iwqp-search-input::placeholder {
    color: var(--text-muted, #9aa0a6);
    font-weight: 400;
}
.theme-dark .iwqp-search-wrap {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.16);
}
.iwqp-price-hint {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--text-secondary, #5b6470);
    white-space: nowrap;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color, #d7dbe0);
}
.iwqp-catalog-tabs {
    display: flex;
    width: 100%;
    flex-shrink: 0;
}
.iwqp-groups-empty {
    margin: 0.4rem 0.5rem;
    font-size: 0.78rem;
    color: var(--text-muted, #8a8f98);
}
.theme-dark .iwqp-price-hint {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    color: var(--text-secondary, #c5c9ce);
}
.iwqp-body {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(10.5rem, 13.5rem) minmax(0, 1fr);
    gap: 0.75rem;
}
.iwqp-groups {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.35rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    background: rgba(0, 0, 0, 0.02);
}
.theme-dark .iwqp-groups {
    background: rgba(255, 255, 255, 0.03);
}
.iwqp-group-btn {
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    padding: 0.5rem 0.65rem;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
}
.iwqp-group-btn:hover {
    background: rgba(0, 0, 0, 0.05);
}
.iwqp-group-btn.is-active {
    background: var(--primary, #FF1744);
    color: #fff;
}
.theme-dark .iwqp-group-btn:hover {
    background: rgba(255, 255, 255, 0.07);
}
.iwqp-products {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.2rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--card-bg, #fff);
}
.iwqp-products-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem 0.4rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-muted, #6b7280);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    position: sticky;
    top: 0;
    background: var(--card-bg, #fff);
    z-index: 1;
}
.theme-dark .iwqp-products-head {
    background: var(--card-bg, #1e1e1e);
}
.iwqp-products-count {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: var(--text-secondary);
    background: rgba(0, 0, 0, 0.06);
    border-radius: 999px;
    padding: 0.08rem 0.45rem;
    font-size: 0.72rem;
}
.theme-dark .iwqp-products-count {
    background: rgba(255, 255, 255, 0.1);
}
.iwqp-product-row {
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    padding: 0.62rem 0.75rem;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    box-sizing: border-box;
}
.iwqp-product-row + .iwqp-product-row {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0;
}
.theme-dark .iwqp-product-row + .iwqp-product-row {
    border-top-color: rgba(255, 255, 255, 0.08);
}
.iwqp-product-row:hover {
    background: rgba(255, 23, 68, 0.06);
}
.theme-dark .iwqp-product-row:hover {
    background: rgba(255, 23, 68, 0.14);
}
.iwqp-product-btn {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--card-bg);
    color: var(--text-primary);
    text-align: left;
    padding: 0.45rem 0.55rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.iwqp-product-btn:hover {
    border-color: rgba(102, 187, 106, 0.6);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.18);
}
.iwqp-product-main {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    flex: 1 1 auto;
    text-align: left;
}
.iwqp-product-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}
.iwqp-product-kind {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 0.12rem 0.38rem;
    border-radius: 4px;
    letter-spacing: 0.02em;
}
.iwqp-product-kind--urun {
    background: rgba(33, 150, 243, 0.15);
    color: #1565c0;
}
.iwqp-product-kind--hammadde {
    background: rgba(255, 193, 7, 0.22);
    color: #e65100;
}
.theme-dark .iwqp-product-kind--urun {
    color: #90caf9;
}
.theme-dark .iwqp-product-kind--hammadde {
    color: #ffcc80;
}
.iwqp-product-meta {
    display: none;
}
.iwqp-product-group {
    font-size: 0.72rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.iwqp-product-barcode {
    font-size: 0.72rem;
    color: var(--text-secondary);
    font-family: ui-monospace, monospace;
    white-space: nowrap;
}
.iwqp-product-price {
    font-size: 0.88rem;
    color: var(--text-primary);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
    flex: 0 0 auto;
    margin-left: auto;
}
.iwqp-state {
    color: var(--text-muted);
    font-size: 0.85rem;
    padding: 1.25rem 0.75rem;
    text-align: center;
}
@media (max-width: 980px) {
    .invoice-wizard-layout {
        grid-template-columns: 1fr;
    }
    .invoice-wizard-sidebar {
        position: static;
        border-right: none;
        padding: 0.65rem;
    }
    .invoice-wizard-top-grid {
        grid-template-columns: 1fr;
    }
    .iw-bottom-bar {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
    }
    .iw-bottom-left {
        flex: 1 1 100%;
    }
    .iw-bottom-right {
        width: 100%;
        max-width: none;
    }
    .modal-body.modal-body--invoice-quick-products .iwqp-body {
        grid-template-columns: 1fr;
    }
    .iwqp-groups {
        max-height: 8rem;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .iwqp-product-row {
        flex-wrap: nowrap;
    }
    .iwqp-product-main {
        flex: 1 1 auto;
    }
    .iwqp-product-price {
        margin-left: 0;
    }
}
.customer-hub-draft-banner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    background: rgba(255, 193, 7, 0.12);
    border: 1px solid rgba(255, 193, 7, 0.35);
    color: var(--text-primary);
    font-size: 0.82rem;
    margin-bottom: 0.35rem;
}
.customer-hub-draft-resume-btn {
    margin-left: auto;
    border: 1px solid rgba(255, 152, 0, 0.45);
    background: rgba(255, 152, 0, 0.15);
    color: #e65100;
    border-radius: 6px;
    padding: 0.25rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}
.customer-hub-draft-resume-btn:hover {
    background: rgba(255, 152, 0, 0.25);
}
.invoice-wizard-hint {
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-secondary);
    margin: 0 0 1rem;
}
.customers-tahsilat-pills--modal {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.4rem;
    max-height: 10rem;
    overflow-y: auto;
    padding-right: 2px;
}
.customers-tahsilat-pills--doc-kind {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
}
.customers-tahsilat-pills--devir {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    max-height: none;
    overflow: visible;
}
.customers-tahsilat-pills--devir .customers-tahsilat-pill {
    white-space: normal;
    line-height: 1.25;
    min-height: 3.1rem;
    text-align: center;
    padding: 0.5rem 0.4rem;
}
.customers-cari-modal-inline-row--money {
    align-items: flex-end;
}
.customers-cari-modal-inline-row--money .customers-cari-modal-field--discount {
    flex: 0 0 36%;
    max-width: 36%;
    min-width: 7rem;
}
.customers-cari-modal-inline-row--money .customers-cari-modal-field--amount {
    flex: 1 1 58%;
    min-width: 0;
}
.customers-cari-modal-inline-row--money .customers-cari-modal-field--amount-full {
    flex: 1 1 100%;
    max-width: 100%;
}
/* Para Ver (borç) modalı — ödeme şekli seçimi kırmızı vurgu */
.customers-tahsilat-pills--modal.customers-tahsilat-pills--debt .customers-tahsilat-pill:hover {
    border-color: rgba(229, 57, 53, 0.55);
}
.customers-tahsilat-pills--modal.customers-tahsilat-pills--debt .customers-tahsilat-pill.is-selected {
    border-color: #e53935;
    background: rgba(229, 57, 53, 0.2);
    color: #b71c1c;
    box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.22);
}
.theme-dark .customers-tahsilat-pills--modal.customers-tahsilat-pills--debt .customers-tahsilat-pill.is-selected {
    color: #ffcdd2;
    background: rgba(229, 57, 53, 0.32);
}
.customers-tahsilat-pill--compact {
    border-radius: 12px !important;
    min-height: 2.35rem;
    padding: 0.35rem 0.45rem;
    font-size: 0.8rem;
    font-weight: 600;
}
/* Müşteri hub: content-area içinde alttan sheet */
.customer-hub-sheet-enter-active,
.customer-hub-sheet-leave-active {
    transition: opacity 0.22s ease;
}
.customer-hub-sheet-enter-from,
.customer-hub-sheet-leave-to {
    opacity: 0;
}
.customer-hub-sheet-enter-active .customer-hub-panel,
.customer-hub-sheet-leave-active .customer-hub-panel {
    transition: transform 0.34s cubic-bezier(0.32, 0.72, 0, 1);
}
.customer-hub-sheet-enter-from .customer-hub-panel,
.customer-hub-sheet-leave-to .customer-hub-panel {
    transform: translateY(100%);
}
.customer-hub-overlay {
    position: absolute;
    inset: 0;
    z-index: 80;
    background: rgba(0, 0, 0, 0.42);
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    box-sizing: border-box;
    backdrop-filter: blur(2px);
}
.customer-hub-panel {
    width: 97%;
    max-width: min(100%, 1240px);
    max-height: 100%;
    height: 97%;
    background: var(--card-bg, #fff);
    box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: 16px 16px 0 0;
    border: 1px solid var(--border-color);
    border-bottom: none;
}
.customer-hub-header {
    flex-shrink: 0;
    padding: 0.85rem 1.15rem 0.65rem;
    border-bottom: 1px solid var(--border-color);
    background: linear-gradient(180deg, rgba(255, 23, 68, 0.07) 0%, transparent 100%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
}
.customer-hub-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.customer-hub-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.25;
    flex: 1;
    min-width: 0;
}
.customer-hub-close {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--card-bg);
    color: var(--text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.customer-hub-close:hover {
    background: rgba(198, 40, 40, 0.08);
    color: var(--danger, #c62828);
    border-color: rgba(198, 40, 40, 0.35);
}
.reports-filters.customer-hub-period-filters {
    margin: 0;
    padding: 0;
}
.customer-hub-kasa-period.kasa-period-row {
    margin-bottom: 0;
}
.customer-hub-balance {
    font-size: 1.12rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}
.customer-hub-balance-hint {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    max-width: 22rem;
}
.customer-hub-footer-balance.hub-cari-borclu .customer-hub-balance,
.customer-hub-footer-balance.hub-cari-borclu .customer-hub-balance-hint {
    color: #2e7d32;
}
.customer-hub-footer-balance.hub-cari-alacakli .customer-hub-balance,
.customer-hub-footer-balance.hub-cari-alacakli .customer-hub-balance-hint {
    color: #c62828;
}
.customer-hub-footer-balance.hub-cari-zero .customer-hub-balance,
.customer-hub-footer-balance.hub-cari-zero .customer-hub-balance-hint {
    color: var(--text-muted);
}
.customer-hub-toolbar {
    flex-shrink: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.65rem;
    padding: 0.55rem 1.15rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--light-gray, #f5f5f5);
    min-height: 0;
}
.theme-dark .customer-hub-toolbar {
    background: rgba(0, 0, 0, 0.22);
}
.customer-hub-search-wrap {
    flex: 0 0 138px;
    width: 138px;
    max-width: 138px;
    min-width: 110px;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--card-bg);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.customer-hub-search-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.12);
}
.customer-hub-search-wrap > i {
    color: var(--text-muted);
    font-size: 0.9rem;
    flex-shrink: 0;
}
.customer-hub-search-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 0.8rem;
    color: var(--text-primary);
    padding: 0.15rem 0;
}
.customer-hub-search-input:focus {
    outline: none;
}
.customer-hub-search-input::placeholder {
    color: var(--text-muted);
}
.customer-hub-actions {
    flex: 2;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    align-items: stretch;
    padding-bottom: 2px;
}
/* Müşteri hub aksiyonları — ödeme paleti; radius uygulama geneliyle uyumlu (8px) */
.customer-hub-action-btn {
    flex: 1 1 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    font-size: 0.64rem;
    font-weight: 700;
    padding: 0.48rem 0.28rem;
    white-space: nowrap;
    line-height: 1.15;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, opacity 0.1s ease;
}
.customer-hub-action-btn i {
    font-size: 0.85rem;
    flex-shrink: 0;
}
.customer-hub-action-btn span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.customer-hub-action-btn:active {
    opacity: 0.92;
}
.customer-hub-action-btn--tahsilat {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.25) 100%);
    border-color: #66BB6A;
    color: #2e7d32;
    box-shadow: 0 2px 8px rgba(102, 187, 106, 0.25);
}
.customer-hub-action-btn--tahsilat:hover {
    background: #66BB6A;
    border-color: #558b2f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(76, 175, 80, 0.45);
}
.customer-hub-action-btn--borc {
    background: linear-gradient(135deg, rgba(255, 112, 67, 0.35) 0%, rgba(244, 81, 30, 0.25) 100%);
    border-color: #FF7043;
    color: #e64a19;
    box-shadow: 0 2px 8px rgba(255, 112, 67, 0.2);
}
.customer-hub-action-btn--borc:hover {
    background: #FF7043;
    border-color: #e64a19;
    color: #fff;
    box-shadow: 0 2px 10px rgba(244, 81, 30, 0.45);
}
.customer-hub-action-btn--ekstre {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.25) 0%, rgba(63, 81, 181, 0.2) 100%);
    border-color: #5C6BC0;
    color: #3949ab;
    box-shadow: 0 2px 8px rgba(92, 107, 192, 0.2);
}
.customer-hub-action-btn--ekstre:hover {
    background: #5C6BC0;
    border-color: #3949ab;
    color: #fff;
    box-shadow: 0 2px 10px rgba(63, 81, 181, 0.45);
}
.customer-hub-action-btn--teklif {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.35) 0%, rgba(33, 150, 243, 0.25) 100%);
    border-color: #42A5F5;
    color: #1976d2;
    box-shadow: 0 2px 8px rgba(66, 165, 245, 0.22);
}
.customer-hub-action-btn--teklif:hover {
    background: #42A5F5;
    border-color: #1976d2;
    color: #fff;
    box-shadow: 0 2px 10px rgba(33, 150, 243, 0.45);
}
.customer-hub-action-btn--alim {
    background: linear-gradient(135deg, rgba(0, 137, 123, 0.25) 0%, rgba(0, 121, 107, 0.2) 100%);
    border-color: #00897B;
    color: #00695c;
    box-shadow: 0 2px 8px rgba(0, 137, 123, 0.2);
}
.customer-hub-action-btn--alim:hover {
    background: #00897B;
    border-color: #00695c;
    color: #fff;
    box-shadow: 0 2px 10px rgba(0, 121, 107, 0.45);
}
.customer-hub-action-btn--satis {
    background: linear-gradient(135deg, rgba(38, 198, 218, 0.35) 0%, rgba(0, 172, 193, 0.25) 100%);
    border-color: #26C6DA;
    color: #0097a7;
    box-shadow: 0 2px 8px rgba(38, 198, 218, 0.22);
}
.customer-hub-action-btn--satis:hover {
    background: #00acc1;
    border-color: #00838f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(0, 172, 193, 0.45);
}
.customer-hub-action-btn--iade-al {
    background: linear-gradient(135deg, rgba(124, 179, 66, 0.28) 0%, rgba(104, 159, 56, 0.2) 100%);
    border-color: #7CB342;
    color: #558b2f;
    box-shadow: 0 2px 8px rgba(124, 179, 66, 0.2);
}
.customer-hub-action-btn--iade-al:hover {
    background: #7CB342;
    border-color: #558b2f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(104, 159, 56, 0.45);
}
.customer-hub-action-btn--iade-ver {
    background: linear-gradient(135deg, rgba(244, 81, 30, 0.28) 0%, rgba(216, 67, 21, 0.18) 100%);
    border-color: #F4511E;
    color: #bf360c;
    box-shadow: 0 2px 8px rgba(244, 81, 30, 0.22);
}
.customer-hub-action-btn--iade-ver:hover {
    background: #F4511E;
    border-color: #d84315;
    color: #fff;
    box-shadow: 0 2px 10px rgba(216, 67, 21, 0.45);
}
.customer-hub-action-btn--hatirlat {
    background: linear-gradient(135deg, rgba(171, 71, 188, 0.25) 0%, rgba(156, 39, 176, 0.2) 100%);
    border-color: #AB47BC;
    color: #7b1fa2;
    box-shadow: 0 2px 8px rgba(171, 71, 188, 0.2);
}
.customer-hub-action-btn--hatirlat:hover {
    background: #AB47BC;
    border-color: #8e24aa;
    color: #fff;
    box-shadow: 0 2px 10px rgba(156, 39, 176, 0.45);
}
.customer-hub-action-btn--transfer {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.25) 0%, rgba(255, 143, 0, 0.2) 100%);
    border-color: #fb8c00;
    color: #ef6c00;
    box-shadow: 0 2px 8px rgba(255, 143, 0, 0.2);
}
.customer-hub-action-btn--transfer:hover {
    background: #fb8c00;
    border-color: #ef6c00;
    color: #fff;
    box-shadow: 0 2px 10px rgba(255, 143, 0, 0.4);
}
.customer-hub-action-btn--delete {
    background: linear-gradient(135deg, rgba(229, 57, 53, 0.22) 0%, rgba(198, 40, 40, 0.18) 100%);
    border-color: #e53935;
    color: #c62828;
    box-shadow: 0 2px 8px rgba(229, 57, 53, 0.18);
}
.customer-hub-action-btn--delete:hover:not(:disabled) {
    background: #e53935;
    border-color: #c62828;
    color: #fff;
    box-shadow: 0 2px 10px rgba(229, 57, 53, 0.4);
}
.customer-hub-action-btn--delete:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.customer-hub-action-btn--restore {
    background: linear-gradient(135deg, rgba(67, 160, 71, 0.22) 0%, rgba(46, 125, 50, 0.18) 100%);
    border-color: #43a047;
    color: #2e7d32;
    box-shadow: 0 2px 8px rgba(67, 160, 71, 0.18);
}
.customer-hub-action-btn--restore:hover:not(:disabled) {
    background: #43a047;
    border-color: #2e7d32;
    color: #fff;
    box-shadow: 0 2px 10px rgba(67, 160, 71, 0.4);
}
.customer-hub-action-btn--restore:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.theme-dark .customer-hub-action-btn--tahsilat {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.22) 100%);
    color: #c8e6c9;
    border-color: #66BB6A;
}
.theme-dark .customer-hub-action-btn--borc {
    background: linear-gradient(135deg, rgba(255, 112, 67, 0.28) 0%, rgba(244, 81, 30, 0.18) 100%);
    color: #ffccbc;
    border-color: #FF7043;
}
.theme-dark .customer-hub-action-btn--ekstre {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.35) 0%, rgba(63, 81, 181, 0.22) 100%);
    color: #c5cae9;
    border-color: #7986cb;
}
.theme-dark .customer-hub-action-btn--teklif {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.3) 0%, rgba(33, 150, 243, 0.2) 100%);
    color: #bbdefb;
    border-color: #42A5F5;
}
.theme-dark .customer-hub-action-btn--alim {
    background: linear-gradient(135deg, rgba(0, 137, 123, 0.32) 0%, rgba(0, 121, 107, 0.2) 100%);
    color: #b2dfdb;
    border-color: #00897B;
}
.theme-dark .customer-hub-action-btn--satis {
    background: linear-gradient(135deg, rgba(38, 198, 218, 0.3) 0%, rgba(0, 172, 193, 0.2) 100%);
    color: #b2ebf2;
    border-color: #26C6DA;
}
.theme-dark .customer-hub-action-btn--iade-al {
    background: linear-gradient(135deg, rgba(124, 179, 66, 0.32) 0%, rgba(104, 159, 56, 0.2) 100%);
    color: #dcedc8;
    border-color: #9CCC65;
}
.theme-dark .customer-hub-action-btn--iade-ver {
    background: linear-gradient(135deg, rgba(244, 81, 30, 0.32) 0%, rgba(216, 67, 21, 0.2) 100%);
    color: #ffccbc;
    border-color: #FF8A65;
}
.theme-dark .customer-hub-action-btn--hatirlat {
    background: linear-gradient(135deg, rgba(171, 71, 188, 0.3) 0%, rgba(156, 39, 176, 0.2) 100%);
    color: #e1bee7;
    border-color: rgba(186, 104, 200, 0.4);
}
.theme-dark .customer-hub-action-btn--transfer {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.3) 0%, rgba(255, 143, 0, 0.2) 100%);
    color: #ffe0b2;
    border-color: #ffb74d;
}
/* Koyu tema: varsayılan gradient'i ezmek için :hover aynı solid (üstteki :hover tek başına yetmez) */
.theme-dark .customer-hub-action-btn--tahsilat:hover {
    background: #66BB6A;
    border-color: #558b2f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(76, 175, 80, 0.45);
}
.theme-dark .customer-hub-action-btn--borc:hover {
    background: #FF7043;
    border-color: #e64a19;
    color: #fff;
    box-shadow: 0 2px 10px rgba(244, 81, 30, 0.45);
}
.theme-dark .customer-hub-action-btn--ekstre:hover {
    background: #5C6BC0;
    border-color: #3949ab;
    color: #fff;
    box-shadow: 0 2px 10px rgba(63, 81, 181, 0.45);
}
.theme-dark .customer-hub-action-btn--teklif:hover {
    background: #42A5F5;
    border-color: #1976d2;
    color: #fff;
    box-shadow: 0 2px 10px rgba(33, 150, 243, 0.45);
}
.theme-dark .customer-hub-action-btn--alim:hover {
    background: #00897B;
    border-color: #00695c;
    color: #fff;
    box-shadow: 0 2px 10px rgba(0, 121, 107, 0.45);
}
.theme-dark .customer-hub-action-btn--satis:hover {
    background: #00acc1;
    border-color: #00838f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(0, 172, 193, 0.45);
}
.theme-dark .customer-hub-action-btn--iade-al:hover {
    background: #7CB342;
    border-color: #558b2f;
    color: #fff;
    box-shadow: 0 2px 10px rgba(104, 159, 56, 0.45);
}
.theme-dark .customer-hub-action-btn--iade-ver:hover {
    background: #F4511E;
    border-color: #d84315;
    color: #fff;
    box-shadow: 0 2px 10px rgba(216, 67, 21, 0.45);
}
.theme-dark .customer-hub-action-btn--hatirlat:hover {
    background: #AB47BC;
    border-color: #8e24aa;
    color: #fff;
    box-shadow: 0 2px 10px rgba(156, 39, 176, 0.45);
}
.theme-dark .customer-hub-action-btn--transfer:hover {
    background: #fb8c00;
    border-color: #ef6c00;
    color: #fff;
    box-shadow: 0 2px 10px rgba(255, 143, 0, 0.4);
}
.theme-dark .customer-hub-action-btn--delete {
    background: linear-gradient(135deg, rgba(229, 57, 53, 0.28) 0%, rgba(198, 40, 40, 0.18) 100%);
    color: #ffcdd2;
    border-color: rgba(239, 83, 80, 0.55);
}
.theme-dark .customer-hub-action-btn--delete:hover:not(:disabled) {
    background: #e53935;
    border-color: #c62828;
    color: #fff;
    box-shadow: 0 2px 10px rgba(229, 57, 53, 0.45);
}
.customer-hub-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.customer-hub-footer {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1.15rem;
    border-top: 1px solid var(--border-color);
    background: linear-gradient(0deg, rgba(255, 23, 68, 0.05) 0%, transparent 100%);
}
.customer-hub-footer-devir {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid var(--border-color);
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.4rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}
.customer-hub-footer-devir:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.customer-hub-footer-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    justify-self: center;
}
.customer-hub-footer-balance {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-self: end;
    gap: 0.08rem;
    margin-left: 0;
    text-align: right;
}
@media (max-width: 1100px) {
    .customer-hub-toolbar {
        flex-wrap: nowrap;
    }
    .customer-hub-search-wrap {
        flex: 0 0 120px;
        width: 120px;
        max-width: 120px;
        min-width: 100px;
    }
    .customer-hub-actions {
        flex: 1 1 auto;
    }
}
.customer-hub-footer-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.cmh-empty-list {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9rem;
}
/* Müşteri hub — hareketler: gerçek tablo (dikey çizgiler hizalı) */
.cmh-hub-movements-table-wrap {
    flex: 1;
    min-height: 180px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid var(--border-color);
}
.cmh-data-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.75rem;
}
.cmh-data-table th,
.cmh-data-table td {
    border: 1px solid var(--border-color);
    padding: 0.4rem 0.45rem;
    vertical-align: middle;
    min-width: 0;
}
.cmh-data-table thead th {
    background: rgba(0, 0, 0, 0.03);
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: left;
}
.theme-dark .cmh-data-table thead th {
    background: rgba(255, 255, 255, 0.05);
}
.cmh-data-table col.cmh-colw-date { width: 11%; }
.cmh-data-table col.cmh-colw-tip { width: 9%; }
.cmh-data-table col.cmh-colw-desc { width: 34%; }
.cmh-data-table col.cmh-colw-doc { width: 12%; }
.cmh-data-table col.cmh-colw-run { width: 16%; }
.cmh-data-table col.cmh-colw-amt { width: 12%; }
.cmh-data-table .cmh-th-doc,
.cmh-data-table .cmh-th-run,
.cmh-data-table .cmh-th-amt,
.cmh-data-table .cmh-td-doc,
.cmh-data-table .cmh-td-run,
.cmh-data-table .cmh-td-amt {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.cmh-data-table .cmh-td-date {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}
.cmh-data-table .cmh-td-desc {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cmh-data-table .cmh-td-doc {
    font-size: 0.72rem;
    color: var(--text-muted);
}
.cmh-data-table .cmh-td-run--empty {
    opacity: 0.45;
}
.cmh-data-table .cmh-td-amt {
    font-weight: 700;
    font-size: 0.8rem;
}
.cmh-data-table tbody tr.cmh-tr {
    cursor: pointer;
    transition: background 0.12s ease;
}
.cmh-data-table tbody tr.cmh-tr:hover {
    background: rgba(0, 0, 0, 0.03);
}
.theme-dark .cmh-data-table tbody tr.cmh-tr:hover {
    background: rgba(255, 255, 255, 0.05);
}
.cmh-data-table tbody tr.cmh-tr.is-active {
    background: rgba(233, 30, 99, 0.08);
    box-shadow: inset 3px 0 0 var(--primary, #e91e63);
}
.cmh-data-table tbody tr.cmh-tr.cmh-tr--today:not(.is-active) {
    background: rgba(255, 193, 7, 0.09);
    box-shadow: inset 3px 0 0 rgba(255, 152, 0, 0.65);
}
.theme-dark .cmh-data-table tbody tr.cmh-tr.cmh-tr--today:not(.is-active) {
    background: rgba(255, 193, 7, 0.07);
}
.cmh-data-table .cmh-tip-pill {
    max-width: 5.25rem;
    font-size: 0.6rem;
    padding: 0.08rem 0.28rem;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.15;
}
@media (max-width: 720px) {
    .cmh-data-table th.cmh-col-doc,
    .cmh-data-table td.cmh-col-doc,
    .cmh-data-table th.cmh-col-run,
    .cmh-data-table td.cmh-col-run {
        display: none;
    }
}
.cmh-left {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    border-right: 1px solid var(--border-color);
    background: var(--card-bg);
}
.cmh-left--full {
    border-right: none;
    min-height: 0;
    flex: 1;
}
.cmh-search {
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--border-color) !important;
    margin: 0 !important;
}
.cmh-loading {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-muted);
}
.cmh-list {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 180px;
    max-height: none;
}
.cmh-list--table {
    border-top: 1px solid var(--border-color);
    /* Başlık ve satırlar aynı sütun genişlikleri — flex yerine grid */
    --cmh-cols: minmax(8.75rem, 10.5rem) minmax(4.75rem, 7.25rem) minmax(5rem, 1fr) minmax(9rem, 13rem) minmax(8.75rem, 10.5rem) minmax(6.75rem, 8.25rem);
}
.cmh-list-head {
    display: grid;
    grid-template-columns: var(--cmh-cols);
    column-gap: 0.65rem;
    align-items: center;
    padding: 0.45rem 0.85rem 0.55rem;
    border-bottom: 2px solid var(--border-color);
    background: rgba(0, 0, 0, 0.03);
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.theme-dark .cmh-list-head {
    background: rgba(255, 255, 255, 0.05);
}
.cmh-head-cell {
    min-width: 0;
}
.cmh-head-date {
    text-align: left;
}
.cmh-head-tip {
    text-align: left;
}
.cmh-head-desc {
    text-align: left;
}
.cmh-head-doc {
    text-align: right;
    padding-left: 0.35rem;
    border-left: 1px solid var(--border-color);
    color: var(--text-muted);
}
.cmh-head-runbal {
    text-align: right;
    padding-left: 0.35rem;
    border-left: 1px solid var(--border-color);
    color: var(--text-muted);
}
.cmh-head-amt {
    text-align: right;
}
.cmh-list--table .cmh-row--line {
    display: grid;
    grid-template-columns: var(--cmh-cols);
    column-gap: 0.65rem;
    align-items: center;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}
.cmh-row-doc {
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
    text-align: right;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 0.35rem;
    border-left: 1px solid var(--border-color);
}
.cmh-row-runbal--empty {
    opacity: 0.4;
    font-size: 0.75rem;
    justify-self: end;
}
@media (max-width: 720px) {
    /* Belge + kümülatif gizlenince kalan 4 sütun: tarih, işlem, açıklama, tutar */
    .cmh-list--table {
        --cmh-cols: minmax(6.75rem, 8.5rem) minmax(3.75rem, 6rem) minmax(4rem, 1fr) minmax(5.25rem, 7rem);
    }
    .cmh-list-head .cmh-head-doc,
    .cmh-list-head .cmh-head-runbal {
        display: none !important;
    }
    .cmh-list--table .cmh-row-doc,
    .cmh-list--table .cmh-row--line .cmh-row-runbal {
        display: none !important;
    }
}
.customer-hub-body .cmh-left {
    max-height: none;
}
.cmh-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    text-align: left;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--light-gray, #f3f4f6);
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.cmh-row--line {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: none;
    border-bottom: 1px solid var(--border-color);
    border-radius: 0;
    background: transparent;
    flex-wrap: nowrap;
}
.cmh-row--line:hover {
    background: rgba(0, 0, 0, 0.03);
}
.theme-dark .cmh-row--line:hover {
    background: rgba(255, 255, 255, 0.05);
}
.cmh-row--line.is-active {
    background: rgba(233, 30, 99, 0.08);
    box-shadow: inset 3px 0 0 var(--primary, #e91e63);
}
/* Bugünkü tarihli hareket: satır hafif vurgu (kümülatif bakiye kolonuyla birlikte okunur) */
.cmh-row--line.cmh-row--today:not(.is-active) {
    background: rgba(255, 193, 7, 0.09);
    box-shadow: inset 3px 0 0 rgba(255, 152, 0, 0.65);
}
.theme-dark .cmh-row--line.cmh-row--today:not(.is-active) {
    background: rgba(255, 193, 7, 0.07);
}
.cmh-row:hover:not(.cmh-row--line) {
    border-color: rgba(33, 150, 243, 0.45);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.cmh-row.is-active:not(.cmh-row--line) {
    border-color: var(--primary, #e91e63);
    background: rgba(233, 30, 99, 0.06);
    box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.12);
}
.cmh-row-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    font-size: 0.72rem;
    color: var(--text-muted);
}
.cmh-row-date {
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
    font-size: 0.72rem;
    color: var(--text-muted);
    min-width: 7.5rem;
}
.cmh-row-tip {
    font-weight: 600;
    color: var(--text-secondary);
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.06);
    font-size: 0.68rem;
    flex-shrink: 0;
    max-width: 28%;
}
.theme-dark .cmh-row-tip {
    background: rgba(255, 255, 255, 0.08);
}
.cmh-row--line .cmh-row-tip {
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Hareket satırı işlem tipi — üstteki aksiyon / ödeme paleti ile uyumlu */
.cmh-tip-pill {
    font-weight: 700;
    font-size: 0.66rem;
    padding: 0.14rem 0.45rem;
    border-radius: 8px;
    border: 2px solid transparent;
    flex-shrink: 0;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}
.cmh-tip-pill--tahsilat {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.25) 100%);
    border-color: #66BB6A;
    color: #2e7d32;
}
.cmh-inpos-dot {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    margin-left: 0.35rem;
    vertical-align: middle;
    flex-shrink: 0;
}
.cmh-inpos-dot--ok {
    background: #43a047;
    box-shadow: 0 0 0 2px rgba(67, 160, 71, 0.25);
}
.cmh-inpos-dot--pending {
    background: #fb8c00;
    box-shadow: 0 0 0 2px rgba(251, 140, 0, 0.25);
}
.customers-inpos-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    margin-bottom: 0.85rem;
    font-size: 0.9rem;
    font-weight: 600;
}
.customers-inpos-status--ok {
    background: rgba(67, 160, 71, 0.12);
    color: #2e7d32;
    border: 1px solid rgba(67, 160, 71, 0.35);
}
.customers-inpos-status--pending {
    background: rgba(251, 140, 0, 0.12);
    color: #e65100;
    border: 1px solid rgba(251, 140, 0, 0.4);
}
.customers-inpos-send-btn {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: none;
    border-radius: 6px;
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    background: #1565c0;
    color: #fff;
}
.customers-inpos-send-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
.customers-inpos-send-btn:not(:disabled):hover {
    background: #0d47a1;
}
.theme-dark .customers-inpos-status--ok {
    background: rgba(67, 160, 71, 0.2);
    color: #a5d6a7;
}
.theme-dark .customers-inpos-status--pending {
    background: rgba(251, 140, 0, 0.2);
    color: #ffcc80;
}
.cmh-tip-pill--adisyon {
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.4) 0%, rgba(255, 152, 0, 0.28) 100%);
    border-color: #FFA726;
    color: #e65100;
}
.cmh-tip-pill--odeme {
    background: linear-gradient(135deg, rgba(239, 83, 80, 0.38) 0%, rgba(229, 57, 53, 0.26) 100%);
    border-color: #ef5350;
    color: #b71c1c;
}
.cmh-tip-pill--inv-satis {
    background: linear-gradient(135deg, rgba(41, 182, 246, 0.38) 0%, rgba(25, 118, 210, 0.22) 100%);
    border-color: #29b6f6;
    color: #0d47a1;
}
.cmh-tip-pill--inv-alis {
    background: linear-gradient(135deg, rgba(171, 71, 188, 0.34) 0%, rgba(142, 36, 170, 0.22) 100%);
    border-color: #ab47bc;
    color: #4a148c;
}
.theme-dark .cmh-tip-pill--inv-satis {
    color: #b3e5fc;
}
.theme-dark .cmh-tip-pill--inv-alis {
    color: #e1bee7;
}
.cmh-tip-pill--neutral {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.1);
    color: var(--text-secondary);
}
.theme-dark .cmh-tip-pill--neutral {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--text-muted);
}
.theme-dark .cmh-tip-pill--tahsilat {
    color: #c8e6c9;
}
.theme-dark .cmh-tip-pill--adisyon {
    color: #ffe0b2;
}
.theme-dark .cmh-tip-pill--odeme {
    color: #ffcdd2;
}
.cmh-row-runbal {
    font-size: 0.7rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
    flex: 0 0 7.25rem;
    min-width: 0;
    max-width: 8rem;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.25;
    padding-left: 0.45rem;
    margin-left: 0.25rem;
    border-left: 1px solid var(--border-color);
}
.cmh-list--table .cmh-row-runbal {
    flex: unset;
    max-width: none;
    margin-left: 0;
    justify-self: end;
    border-left: 1px solid var(--border-color);
    padding-left: 0.35rem;
}
.cmh-list--table .cmh-row--line .cmh-row-amt {
    margin-left: 0;
    justify-self: end;
    text-align: right;
}
@media (max-width: 720px) {
    .cmh-row-runbal {
        display: none;
    }
}
.cmh-row-aciklama {
    font-size: 0.86rem;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cmh-row--line .cmh-row-aciklama {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: unset;
}
.cmh-row-amt {
    align-self: flex-end;
    font-size: 0.82rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.cmh-row--line .cmh-row-amt {
    align-self: center;
    flex-shrink: 0;
    margin-left: auto;
}
.cmh-amt--borc {
    color: var(--danger, #c62828);
}
.cmh-amt--alacak {
    color: var(--success, #2e7d32);
}
.cmh-amt--none {
    color: var(--text-muted);
}
.cmh-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    background: #fafafa;
}
.theme-dark .cmh-right {
    background: rgba(0, 0, 0, 0.25);
}
.cmh-detail-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--text-muted);
    text-align: center;
}
.cmh-detail-empty i {
    font-size: 1.75rem;
    opacity: 0.5;
}
.cmh-detail-loading {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: var(--text-muted);
}
.cmh-adisyon-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.65rem 0.85rem;
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.12) 0%, rgba(76, 175, 80, 0.08) 100%);
    border-bottom: 1px solid var(--border-color);
    border-radius: 8px 8px 0 0;
}
.cmh-adisyon-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.25rem 0.55rem;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.45) 0%, rgba(76, 175, 80, 0.35) 100%);
    border: 2px solid #66BB6A;
    color: #1b5e20;
}
.theme-dark .cmh-adisyon-badge {
    color: #c8e6c9;
    border-color: #81c784;
}
.cmh-adisyon-meta {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}
.cmh-adisyon-line-desc {
    margin: 0;
    padding: 0.45rem 0.85rem 0.55rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--text-primary);
    background: var(--card-bg);
    border-bottom: 1px solid var(--border-color);
}
.cmh-adisyon-line-desc:empty {
    display: none;
}
.cmh-detail-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid var(--border-color);
    background: var(--card-bg);
}
.cmh-toolbar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.15s;
}
.cmh-toolbar-btn:hover {
    transform: translateY(-1px);
}
.cmh-toolbar-btn i {
    font-size: 0.85rem;
}
.cmh-toolbar-btn--pdf {
    background: linear-gradient(135deg, rgba(66, 165, 245, 0.35) 0%, rgba(33, 150, 243, 0.25) 100%);
    border-color: #42A5F5;
    color: #1976d2;
    box-shadow: 0 2px 8px rgba(66, 165, 245, 0.2);
}
.cmh-toolbar-btn--pdf:hover {
    box-shadow: 0 4px 12px rgba(66, 165, 245, 0.32);
}
.cmh-toolbar-btn--receipt {
    background: linear-gradient(135deg, rgba(102, 187, 106, 0.35) 0%, rgba(76, 175, 80, 0.25) 100%);
    border-color: #66BB6A;
    color: #2e7d32;
    box-shadow: 0 2px 8px rgba(102, 187, 106, 0.22);
}
.cmh-toolbar-btn--receipt:hover {
    box-shadow: 0 4px 12px rgba(102, 187, 106, 0.32);
}
.cmh-toolbar-btn--mail {
    background: linear-gradient(135deg, rgba(92, 107, 192, 0.25) 0%, rgba(63, 81, 181, 0.2) 100%);
    border-color: #5C6BC0;
    color: #3949ab;
    box-shadow: 0 2px 8px rgba(92, 107, 192, 0.18);
}
.cmh-toolbar-btn--mail:hover {
    box-shadow: 0 4px 12px rgba(92, 107, 192, 0.28);
}
.theme-dark .cmh-toolbar-btn--pdf {
    color: #bbdefb;
}
.theme-dark .cmh-toolbar-btn--receipt {
    color: #c8e6c9;
}
.theme-dark .cmh-toolbar-btn--mail {
    color: #c5cae9;
}
.cmh-iframe {
    flex: 1;
    width: 100%;
    min-height: 260px;
    border: none;
    background: #fff;
}
.cmh-detail-card {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.1rem;
}
.cmh-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.75rem 0;
    color: var(--text-primary);
}
.cmh-dl {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(100px, 34%) 1fr;
    gap: 0.35rem 0.75rem;
    font-size: 0.88rem;
}
.cmh-dl dt {
    margin: 0;
    color: var(--text-muted);
    font-weight: 600;
}
.cmh-dl dd {
    margin: 0;
    color: var(--text-primary);
    word-break: break-word;
}
.cmh-dd-muted {
    font-size: 0.82rem;
    color: var(--text-secondary);
    line-height: 1.4;
}
.modal-container.modal-container--hub-detail {
    max-width: min(92vw, 900px);
    width: min(92vw, 900px);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
}
.modal-container.modal-container--hub-transfer {
    width: min(92vw, 560px);
    max-width: min(92vw, 560px);
}
.modal-body.modal-body--hub-transfer {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}
.hub-transfer-list {
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--lighter-gray);
    max-height: min(44vh, 340px);
    overflow: auto;
    padding: 0.35rem;
}
.hub-transfer-item {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--card-bg);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    margin-bottom: 0.35rem;
    cursor: pointer;
    text-align: left;
}
.hub-transfer-item:last-child {
    margin-bottom: 0;
}
.hub-transfer-item-name {
    font-weight: 700;
    font-size: 0.88rem;
}
.hub-transfer-item-meta {
    font-size: 0.78rem;
    color: var(--text-muted);
}
.hub-transfer-item.is-selected {
    border-color: var(--warning);
    box-shadow: 0 0 0 2px rgba(255, 167, 38, 0.2);
}
.hub-transfer-empty,
.hub-transfer-loading {
    font-size: 0.86rem;
    color: var(--text-muted);
    text-align: center;
    padding: 1rem 0.5rem;
}
.modal-body.modal-body--hub-detail {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}
.cmh-iframe.cmh-iframe--modal {
    flex: 1;
    min-height: 280px;
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 0 0 12px 12px;
}
.cmh-adisyon-summary + .cmh-adisyon-line-desc + .cmh-iframe.cmh-iframe--modal {
    border-radius: 0;
}
.cmh-adisyon-summary + .cmh-iframe.cmh-iframe--modal {
    border-radius: 0 0 12px 12px;
}
.cmh-detail-card.cmh-detail-card--modal {
    overflow-y: auto;
    max-height: min(60vh, 480px);
    padding: 0.85rem 1rem;
    margin-top: 0.25rem;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--card-bg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.theme-dark .cmh-detail-card.cmh-detail-card--modal {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}
@media (max-width: 720px) {
    .cmh-left {
        border-right: none;
        border-bottom: none;
        min-height: 0;
    }
    .cmh-list {
        max-height: none;
    }
}

/* Sağdan kayan müşteri paneli */
.customer-panel-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1000;
    display: flex;
    justify-content: flex-end;
}

/* Müşteriler sayfası: sağdan açılan profil paneli (ekranın en fazla %50'si) */
.customer-panel-overlay .customer-panel {
    width: 100%;
    max-width: 50%;
    background: var(--card-bg);
    box-shadow: -6px 0 24px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.customer-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, rgba(255, 23, 68, 0.08) 0%, rgba(218, 33, 67, 0.05) 100%);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.customer-panel-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.customer-panel-close {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.06);
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    color: var(--text-muted);
    transition: background 0.2s, color 0.2s;
}

.customer-panel-close:hover {
    background: rgba(255, 23, 68, 0.12);
    color: var(--primary);
}

.customer-panel-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--white);
}

.customer-panel-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

.customer-panel-loading {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

/* Panel içi form grupları ve etiketler */
.customer-panel .form-group {
    margin-bottom: 1rem;
}

.customer-panel .form-group label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0.35rem;
    letter-spacing: 0.01em;
}

/* Panel içi input / textarea - uygulama diline uyumlu */
.customer-panel .form-control {
    width: 100%;
    padding: 0.6rem 0.75rem;
    font-size: 0.875rem;
    font-family: var(--font-family-base);
    line-height: 1.4;
    color: var(--text-primary);
    background: var(--white);
    border: 1px solid var(--medium-gray);
    border-radius: var(--border-radius);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

.customer-panel .form-control::placeholder {
    color: var(--text-muted);
}

.customer-panel .form-control:hover {
    border-color: var(--text-muted);
}

.customer-panel .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.15);
}

.customer-panel .form-control.has-error {
    border-color: var(--danger, #dc3545);
}

.customer-panel .field-error {
    display: block;
    font-size: 0.75rem;
    color: var(--danger, #dc3545);
    margin-top: 0.35rem;
}

.customer-panel .form-error-banner {
    display: block;
    padding: 0.6rem 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: var(--danger, #dc3545);
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.3);
    border-radius: 8px;
}

.customer-panel textarea.form-control {
    resize: vertical;
    min-height: 2.5rem;
}

.customer-panel input[type="date"].form-control {
    cursor: pointer;
}

.customer-panel input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    margin-right: 0.35rem;
    accent-color: var(--primary);
    cursor: pointer;
    vertical-align: middle;
}

/* Bölüm ayırıcı */
.customer-panel hr {
    border: none;
    height: 1px;
    background: var(--light-gray);
    margin: 1.25rem 0;
}

.customer-panel h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.5rem;
}

.customer-panel .form-row.two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.customer-panel .form-row.three-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem;
}

.customer-panel .form-row.four-cols {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
}

/* Panel içi butonlar - global .btn ile uyumlu */
.customer-panel .btn {
    padding: 0.6rem 1.2rem;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    border: none;
    font-size: 0.875rem;
    font-family: var(--font-family-base);
}

.customer-panel .btn-sm {
    padding: 0.45rem 0.85rem;
    font-size: 0.8rem;
}

.customer-panel .btn-primary {
    background-color: var(--primary);
    color: var(--white);
}

.customer-panel .btn-primary:hover:not(:disabled) {
    background-color: #e0143a;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(255, 23, 68, 0.35);
}

.customer-panel .btn-secondary {
    background-color: var(--light-gray);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.customer-panel .btn-secondary:hover:not(:disabled) {
    background-color: #e8e8e8;
    border-color: var(--text-muted);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.customer-panel .btn-danger {
    background-color: var(--danger);
    color: var(--white);
}

.customer-panel .btn-danger:hover:not(:disabled) {
    filter: brightness(1.05);
    box-shadow: 0 2px 8px rgba(244, 67, 54, 0.3);
}

.customer-panel .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.customer-panel-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--light-gray);
}

.customer-panel-actions .btn {
    min-width: 100px;
}

.customer-panel-footer {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--light-gray);
    background: var(--white);
}

.customer-panel-footer--split {
    justify-content: space-between;
    align-items: center;
}

.customer-panel-footer-actions {
    display: flex;
    gap: 0.75rem;
    margin-left: auto;
}

.customer-panel-delete-btn {
    margin-right: auto;
}

.customer-panel-footer .btn {
    min-width: 100px;
}

/* Select2 benzeri il/ilçe */
.customer-panel .select2-wrap {
    position: relative;
}

.customer-panel .select2-wrap .form-control[readonly] {
    cursor: pointer;
    background: var(--white);
}

.customer-panel .select2-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 2px;
    background: var(--white);
    border: 1px solid var(--medium-gray);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow), 0 4px 12px rgba(0, 0, 0, 0.08);
    z-index: 20;
    max-height: 220px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.customer-panel .select2-dropdown input.form-control {
    margin: 0.35rem;
    border-radius: var(--border-radius);
}

.customer-panel .select2-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    overflow-y: auto;
    flex: 1;
}

.customer-panel .select2-dropdown ul li {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background 0.15s;
}

.customer-panel .select2-dropdown ul li:hover {
    background: rgba(255, 23, 68, 0.08);
    color: var(--primary);
}

/* Müşteri paneli adres bölümü - Çağrılar ekranı ile aynı tasarım dili */
.customer-panel-address-section {
    margin-top: 1rem;
}

.customer-panel-address-section .label-with-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.customer-panel-address-section .label-with-action i {
    margin-right: 0.35rem;
    color: var(--primary);
}

.customer-panel-address-section .add-address-btn {
    padding: 0.2rem 0.4rem;
    font-size: 0.7rem;
    margin-left: auto;
    background: transparent;
    border: 1px solid var(--medium-gray);
    color: var(--text-secondary);
    border-radius: 4px;
    cursor: pointer;
}

.customer-panel-address-section .add-address-btn:hover {
    background: var(--light-gray);
    color: var(--primary);
}

.customer-panel-address-section .address-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.customer-panel-address-section .address-item {
    padding: 0.6rem;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
    background: #f8f9fa;
    min-height: 80px;
}

.customer-panel-address-section .address-item.editing {
    grid-column: 1 / -1;
}

.customer-panel-address-section .address-content {
    flex: 1;
}

.customer-panel-address-section .address-title {
    font-weight: 500;
    font-size: 0.8rem;
    color: var(--text-primary);
    margin-bottom: 0.2rem;
}

.customer-panel-address-section .address-text {
    font-size: 0.8rem;
    color: #666;
    line-height: 1.4;
}

.customer-panel-address-section .address-badges {
    display: flex;
    gap: 0.3rem;
    margin-top: 0.25rem;
    flex-wrap: wrap;
}

.customer-panel-address-section .address-badge {
    font-size: 0.7rem;
    padding: 0.1rem 0.3rem;
    border-radius: 1rem;
    background: #e3f2fd;
    color: #1976d2;
}

.customer-panel-address-section .address-badge.favori-badge {
    background: #fff3e0;
    color: #f57c00;
}

.customer-panel-address-section .address-actions {
    display: flex;
    gap: 0.2rem;
    margin-top: 0.4rem;
}

.customer-panel-address-section .button-icon {
    padding: 0.2rem 0.4rem;
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    font-size: 0.85rem;
}

.customer-panel-address-section .button-icon:hover {
    color: var(--text-primary);
}

.customer-panel-address-section .address-edit-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.customer-panel-address-section .address-edit-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.35rem;
}

.customer-panel-address-section .add-address-form-inline {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: rgba(255, 23, 68, 0.04);
    border-radius: var(--border-radius);
    border: 1px dashed var(--medium-gray);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.customer-panel-address-section .add-address-form-inline .checkbox-label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.85rem;
}

.customer-panel-address-section .add-address-actions {
    display: flex;
    gap: 0.5rem;
}

.customer-panel-address-section .no-address-text {
    color: var(--text-muted);
    font-size: 0.875rem;
    margin: 0;
}

/* Slide panel transition */
.slide-panel-enter-active,
.slide-panel-leave-active {
    transition: opacity 0.2s ease;
}

.slide-panel-enter-active .customer-panel,
.slide-panel-leave-active .customer-panel {
    transition: transform 0.25s ease;
}

.slide-panel-enter-from .customer-panel,
.slide-panel-leave-to .customer-panel {
    transform: translateX(100%);
}

.slide-panel-enter-from,
.slide-panel-leave-to {
    opacity: 0;
}

/* Dark mode - Müşteri paneli */
.theme-dark .customer-panel,
.theme-dark .customer-panel-body,
.theme-dark .customer-panel-scroll,
.theme-dark .customer-panel-footer {
    background: rgba(255, 255, 255, 0.05);
}

.theme-dark .customer-panel-header {
    background: rgba(255, 23, 68, 0.15);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .customer-panel .form-control {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--white);
}

.theme-dark .customer-panel .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.2);
}

.theme-dark .customer-panel .form-group label {
    color: rgba(255, 255, 255, 0.8);
}

.theme-dark .customer-panel .form-control.has-error {
    border-color: #f87171;
}

.theme-dark .customer-panel .field-error {
    color: #f87171;
}

.theme-dark .customer-panel-address-section .address-item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
}

.theme-dark .customer-panel-address-section .add-address-form-inline {
    background: rgba(255, 23, 68, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
}

/* Kapat onayı sonrası: tam ekran overlay + spinner */
.app-closing-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.75);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1.25rem;
    color: #fff;
    font-family: var(--font-family-base, 'Ubuntu', sans-serif);
    font-size: 1.1rem;
}
body.app-closing .app-closing-overlay {
    display: flex;
}
.app-closing-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: app-closing-spin 0.9s linear infinite;
}
.app-closing-text {
    margin: 0;
    font-weight: 500;
    letter-spacing: 0.02em;
}
@keyframes app-closing-spin {
    to { transform: rotate(360deg); }
}

/* ============================================
   Dokunmatik ekran: tıklanabilir öğelerde basılma geri bildirimi
   Hover dokunmada yok; pointerdown'da JS ile .tap-active eklenir (~200ms).
   ============================================ */
.tap-active {
    opacity: 0.88 !important;
    transform: scale(0.98) !important;
    transition: opacity 0.08s ease-out, transform 0.08s ease-out !important;
}
/* Ürün kartı zaten kendi :active/scale kullanıyor; tap-active ile çakışmasın */
.product-card.tap-active {
    opacity: 1 !important;
    transform: scale(0.96) !important;
}
/* Butonlarda hafif koyulaştırma (opacity yerine) */
.btn.tap-active,
.btn-primary.tap-active,
.btn-success.tap-active,
[class*="btn-"].tap-active,
.modal-footer .btn.tap-active,
.order-actions .btn.tap-active {
    opacity: 0.92 !important;
    transform: scale(0.98) !important;
}
/* Nav / kategori: arka plan vurgusu */
.nav-item.tap-active,
.category-item.tap-active,
.reports-nav-item.tap-active {
    opacity: 0.9 !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}
.theme-dark .nav-item.tap-active,
.theme-dark .category-item.tap-active,
.theme-dark .reports-nav-item.tap-active {
    background-color: rgba(255, 255, 255, 0.12) !important;
}
/* Switch ve input tıklamaları: hafif geri bildirim */
.app-switch.tap-active .app-switch-slider,
input[type="checkbox"]:active + .app-switch-slider {
    opacity: 0.9;
}
/* Title bar butonları */
.title-bar-btn.tap-active,
.title-bar-close.tap-active,
.title-bar-support-btn.tap-active,
.title-bar-notification.tap-active,
.title-bar-user.tap-active,
.title-bar-language.tap-active,
.title-bar-theme.tap-active {
    opacity: 0.9 !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}
/* Online sipariş kartı */
.online-order-card.tap-active {
    opacity: 0.92 !important;
    box-shadow: inset 0 0 0 2px rgba(255, 174, 68, 0.6) !important;
}

.swal2-container.swal2-center.swal2-backdrop-show{
    background: var(--swal2-backdrop) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* SweetAlert2: animasyon yok; 1ms keyframe — animationend gelsin, kapanış kilitlenmesin */
@keyframes swal2-perf-instant {
    from { opacity: 1; }
    to { opacity: 1; }
}
.swal2-perf-static {
    animation: swal2-perf-instant 1ms !important;
    transition: none !important;
}

/* Gel-Al (pickup) sayfası */
.gelal-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
.gelal-view .tables-container {
    flex: 1;
    min-height: 0;
}
/* Gel-Al: geniş ızgara, kartlar kompakt başlık + şerit + not */
.gelal-view .tables-grid {
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}
.gelal-view .table-card.gelal-pickup-card {
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0;
    overflow: hidden;
    text-align: left;
    justify-content: flex-start;
    align-items: stretch;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    border-width: 1px;
}
.gelal-pickup-card__inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 96px;
    min-width: 0;
}
.gelal-pickup-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.62rem 0.75rem 0.48rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}
.gelal-pickup-card__head--lock {
    padding-right: 1.75rem;
}
.gelal-view .table-card.gelal-pickup-card.occupied .gelal-pickup-card__head {
    border-bottom-color: rgba(46, 157, 87, 0.22);
}
.gelal-view .table-card.gelal-pickup-card.cok-oturmus .gelal-pickup-card__head {
    border-bottom-color: rgba(211, 47, 47, 0.22);
}
.gelal-pickup-card__title {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #0f172a;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gelal-pickup-card__amount {
    flex-shrink: 0;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.22rem 0.5rem;
    border-radius: 8px;
    background: rgba(46, 157, 87, 0.14);
    color: #1b5e20;
    font-variant-numeric: tabular-nums;
}
.gelal-view .table-card.gelal-pickup-card.cok-oturmus .gelal-pickup-card__amount {
    background: rgba(211, 47, 47, 0.12);
    color: #b71c1c;
}
.gelal-pickup-card__pill {
    flex-shrink: 0;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.22rem 0.45rem;
    border-radius: 6px;
    background: #f1f5f9;
    color: #94a3b8;
}
.gelal-pickup-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.38rem;
    padding: 0.45rem 0.75rem 0.62rem;
    min-height: 0;
}
.gelal-pickup-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    font-size: 0.72rem;
    line-height: 1.3;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
}
.gelal-pickup-strip__when {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #475569;
    font-weight: 600;
    min-width: 0;
    flex: 1 1 auto;
}
.gelal-pickup-strip__when i {
    font-size: 0.74rem;
    opacity: 0.72;
    flex-shrink: 0;
}
.gelal-pickup-strip__eta {
    font-weight: 800;
    padding: 0.14rem 0.45rem;
    border-radius: 6px;
    background: rgba(25, 118, 210, 0.12);
    color: #0d47a1;
    white-space: nowrap;
    margin-left: auto;
}
.gelal-view .table-card.gelal-pickup-card.occupied .gelal-pickup-strip__eta {
    background: rgba(46, 157, 87, 0.16);
    color: #1b5e20;
}
.gelal-view .table-card.gelal-pickup-card.cok-oturmus .gelal-pickup-strip__eta {
    background: rgba(211, 47, 47, 0.12);
    color: #b71c1c;
}
.gelal-pickup-strip--order {
    border-color: rgba(46, 157, 87, 0.28);
    background: linear-gradient(180deg, rgba(236, 253, 245, 0.95) 0%, rgba(240, 253, 244, 0.85) 100%);
}
.gelal-pickup-strip--pickup {
    opacity: 0.96;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}
.gelal-pickup-strip__label-text {
    font-weight: 700;
    color: #166534;
}
.gelal-pickup-strip__eta--pickup {
    font-weight: 700;
    background: rgba(25, 118, 210, 0.1) !important;
    color: #0d47a1 !important;
}
.gelal-view .table-card.gelal-pickup-card.occupied .gelal-pickup-strip__eta--pickup {
    background: rgba(46, 157, 87, 0.14) !important;
    color: #1b5e20 !important;
}
.gelal-pickup-note {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.45;
    color: #64748b;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
/* Gel-Al kartları: boş masa gibi beyaz iç; dolu/seçili masa ile aynı yeşil vurgular */
.gelal-view .table-card.gelal-pickup-card:not(.occupied):not(.selected) {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
}
.gelal-view .table-card.gelal-pickup-card.occupied:not(.cok-oturmus) {
    border-color: var(--success) !important;
    background-color: rgba(76, 175, 80, 0.05) !important;
}
.gelal-view .table-card.gelal-pickup-card.selected {
    border-color: var(--success);
    border-width: 4px;
    background-color: rgba(76, 175, 80, 0.1) !important;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.25);
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-card__title {
    color: #f8fafc !important;
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-strip {
    background: linear-gradient(180deg, #2d2d2d 0%, #262626 100%);
    border-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-strip__when {
    color: #cbd5e1 !important;
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-note {
    color: #94a3b8 !important;
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-strip__eta {
    color: #81c784 !important;
    background: rgba(76, 175, 80, 0.2) !important;
}
.theme-dark .gelal-view .table-card.gelal-pickup-card.cok-oturmus .gelal-pickup-strip__eta {
    color: #ef9a9a !important;
    background: rgba(239, 83, 80, 0.2) !important;
}
.theme-dark .gelal-view .table-card.gelal-pickup-card .gelal-pickup-card__pill--empty {
    background: rgba(255, 255, 255, 0.08);
    color: #94a3b8;
}
/* Yeni Sipariş — aynı ızgara hücresi, sakin çağrı */
.gelal-card-new {
    border: 1px dashed rgba(15, 23, 42, 0.18);
    background: linear-gradient(180deg, #fafbfc 0%, #f4f6f8 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 112px;
    max-height: none;
    box-sizing: border-box;
    cursor: pointer;
    border-radius: 12px;
    transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s;
    color: #64748b;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    padding: 0.75rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
}
.gelal-card-new:hover {
    background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
    border-color: rgba(46, 157, 87, 0.45);
    color: #166534;
    box-shadow: 0 2px 8px rgba(46, 157, 87, 0.12);
}
.gelal-card-new i {
    font-size: 1.25rem;
    margin-bottom: 6px;
    opacity: 0.5;
    color: #94a3b8;
}
.gelal-card-new:hover i {
    opacity: 0.85;
    color: #22c55e;
}
.gelal-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.gelal-modal {
    background: var(--panel-bg, #1e1e1e);
    color: var(--text-primary, #eee);
    border-radius: 12px;
    padding: 20px;
    min-width: 320px;
    max-width: 420px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
}
/* Açık tema: okunaklı metin */
.gelal-modal.gelal-modal--light {
    background: #ffffff;
    color: #1a1a1a;
    border: 1px solid #e0e0e0;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}
.gelal-modal.gelal-modal--light label {
    color: #333;
    opacity: 1;
}
.gelal-modal h3 {
    margin: 0 0 16px;
    font-size: 1.1rem;
}
.gelal-modal .form-row {
    margin-bottom: 12px;
}
.gelal-modal label {
    display: block;
    font-size: 0.85rem;
    margin-bottom: 4px;
    opacity: 0.9;
}
.gelal-modal input[type="text"],
.gelal-modal input[type="datetime-local"],
.gelal-modal textarea {
    width: 100%;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.15);
    background: rgba(0,0,0,0.2);
    color: inherit;
}
.gelal-modal.gelal-modal--light input[type="text"],
.gelal-modal.gelal-modal--light input[type="datetime-local"],
.gelal-modal.gelal-modal--light textarea {
    border: 1px solid #ccc;
    background: #fafafa;
    color: #1a1a1a;
}
.gelal-modal textarea {
    min-height: 64px;
    resize: vertical;
}
.gelal-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 16px;
}
.gelal-meta-line {
    font-size: 0.8rem;
    opacity: 0.85;
    margin-top: 4px;
}
.gelal-modal.gelal-modal--light .gelal-meta-line {
    color: #666;
}

/* Oyun alanı görünümünü tam geniş yap */
.playarea-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: var(--lighter-gray);
}

.playarea-view.playarea-view--split {
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    min-height: 0;
    height: 100%;
}

.playarea-split-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.playarea-toolbar.playarea-toolbar--stats-only {
    margin-bottom: 10px;
    justify-content: center;
}

.playarea-toolbar.playarea-toolbar--stats-only .playarea-toolbar-stats {
    flex-wrap: wrap;
    justify-content: center;
}

/* Oyun alanı: içerik alanı Swal açınca küçülmesin */
.content-area > .tables-view.playarea-view {
    flex: 1 1 auto;
    min-height: 0;
    align-self: stretch;
    gap: 1rem;
}

body.swal2-shown {
    padding-right: 0 !important;
}

.playarea-pending-aside {
    width: min(320px, 36vw);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
    padding: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    box-shadow: -8px 0 28px rgba(15, 23, 42, 0.08);
    border-radius: 12px 0 0 12px;
    box-sizing: border-box;
    overflow: hidden;
}

.playarea-pending-aside-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    font-weight: 800;
    font-size: 0.95rem;
    color: #37474f;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    flex-shrink: 0;
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.07) 0%, rgba(255, 255, 255, 0.96) 100%);
}

.playarea-pending-aside-head-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.playarea-pending-aside-head-title i {
    color: #5c6bc0;
    font-size: 1rem;
}

.playarea-pending-aside-head-badge {
    flex-shrink: 0;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    background: linear-gradient(135deg, #7e57c2 0%, #5c6bc0 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(92, 107, 192, 0.35);
}

.playarea-pending-aside-list {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 12px 14px;
}

@keyframes playareaPendingQueuePulse {
    0%, 100% {
        opacity: 1;
        filter: brightness(1);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    }
    50% {
        opacity: 0.92;
        filter: brightness(0.97);
        box-shadow: 0 4px 16px rgba(99, 102, 241, 0.28);
    }
}

.playarea-pending-queue-item-wrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 6px;
    width: 100%;
}

.playarea-pending-queue-item-wrap .playarea-pending-queue-item {
    flex: 1;
    min-width: 0;
}

.playarea-pending-queue-cancel {
    flex: 0 0 2.25rem;
    align-self: stretch;
    border: none;
    border-radius: 10px;
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
    cursor: pointer;
}

.playarea-pending-queue-cancel:hover {
    background: rgba(239, 68, 68, 0.22);
}

.playarea-pending-queue-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    text-align: left;
    padding: 10px 11px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    color: inherit;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.11) 0%, rgba(56, 189, 248, 0.07) 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    animation: playareaPendingQueuePulse 2.1s ease-in-out infinite;
}

.playarea-pending-queue-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(92, 107, 192, 0.22);
}

.playarea-pending-queue-item:active {
    transform: scale(0.99);
}

.playarea-pending-queue-rank {
    flex: 0 0 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.05rem;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    color: #4338ca;
    border: 1px solid rgba(99, 102, 241, 0.15);
}

.playarea-pending-queue-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
}

.playarea-pending-queue-time {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #5c6bc0;
}

.playarea-pending-queue-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #263238;
    line-height: 1.25;
}

.playarea-pending-queue-meta {
    font-size: 0.72rem;
    font-weight: 600;
    color: #78909c;
}

@media (max-width: 900px) {
    .playarea-view.playarea-view--split {
        flex-direction: column;
    }
    .playarea-pending-aside {
        width: 100%;
        max-height: 240px;
        border-left: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.08);
        flex-direction: column;
    }

    .theme-dark .playarea-pending-aside {
        border-top-color: #333d48;
        box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
    }
}

.playarea-view .tables-container {
    flex: 1;
    min-height: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.playarea-view .tables-container > .empty-state.empty-state--page-center {
    flex: 1;
    min-height: 0;
    justify-content: center;
}

.playarea-view .tables-container > .tables-grid {
    flex: 1;
    align-content: start;
}

.playarea-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #e9eef5;
    border-radius: 14px;
    padding: 12px 14px;
    backdrop-filter: blur(6px);
}

.playarea-toolbar-left {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    flex: 1;
    align-items: center;
}

.playarea-toolbar-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: #37474f;
}

.playarea-toolbar-subtitle {
    margin: 3px 0 0;
    font-size: 0.82rem;
    color: #607d8b;
}

.playarea-toolbar-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.playarea-stat-card {
    min-width: 108px;
    border-radius: 12px;
    border: 1px solid #e3eaf2;
    background: #f8fbff;
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.playarea-stat-card span {
    font-size: 11px;
    color: #607d8b;
    font-weight: 700;
}

.playarea-stat-card strong {
    font-size: 16px;
    color: #263238;
}

.playarea-stat-over { background: #fff1f1; border-color: #ffd3d3; }
.playarea-stat-warn { background: #fff8e8; border-color: #ffe3a6; }
.playarea-stat-ok { background: #edf9ee; border-color: #cdeecf; }
.playarea-stat-credit { background: #eef4ff; border-color: #d7e2ff; }

.playarea-new-btn {
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 24px rgba(126, 87, 194, 0.24);
    border: 0 !important;
}

.playarea-credit-strip {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #e6edf5;
    background: rgba(255, 255, 255, 0.8);
}
.playarea-credit-strip.playarea-credit-strip-alert {
    border-color: #f6c343;
    background: linear-gradient(180deg, #fff9df 0%, #fff6cc 100%);
    animation: playareaPendingBlink 1.15s ease-in-out infinite;
}

.playarea-credit-strip-title {
    font-size: 12px;
    font-weight: 700;
    color: #607d8b;
    margin-bottom: 8px;
}

.playarea-credit-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.playarea-credit-chip {
    border: 1px solid #dbe5ef;
    background: #f7fbff;
    color: #2c3e50;
    border-radius: 999px;
    padding: 6px 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.playarea-credit-chip small {
    color: #78909c;
    font-weight: 700;
}

.playarea-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 0.75rem !important;
}

.playarea-card {
    min-height: 0;
    padding: 0;
    border-radius: 14px;
    border: 1px solid #e5eaf0;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
    transition: box-shadow 0.16s ease, border-color 0.16s ease;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: stretch;
}
.playarea-card--no-rail {
    grid-template-columns: 1fr;
}

.playarea-grid .table-card.playarea-card {
    height: auto;
    min-height: 0;
    max-height: none;
}

.playarea-card:hover {
    transform: none;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
.playarea-card:active {
    transform: none;
    filter: brightness(0.98);
    box-shadow: inset 0 0 0 2px rgba(126, 87, 194, 0.18), 0 8px 24px rgba(15, 23, 42, 0.08);
}

.playarea-card-rail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 10px 5px;
    border-right: 1px solid rgba(0, 0, 0, 0.07);
    background: linear-gradient(180deg, rgba(126, 87, 194, 0.1) 0%, rgba(92, 107, 192, 0.06) 100%);
}
.playarea-rail-btn {
    border: 1px solid rgba(69, 39, 160, 0.28);
    background: rgba(255, 255, 255, 0.92);
    color: #4527a0;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.15;
    padding: 7px 4px;
    cursor: pointer;
    writing-mode: horizontal-tb;
    min-height: 36px;
}
.playarea-rail-btn:hover {
    background: #fff;
    border-color: #7e57c2;
}
.playarea-card-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 10px 10px 8px;
    min-width: 0;
}
.playarea-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}
.playarea-card-identity {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}
.playarea-card-identity-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.playarea-card-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.playarea-status-badge {
    display: inline-block;
    align-self: flex-start;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 999px;
    line-height: 1.2;
}
.playarea-status-badge--ok {
    background: #e8f5e9;
    color: #2e7d32;
}
.playarea-status-badge--warn {
    background: #fff8e1;
    color: #f57f17;
}
.playarea-status-badge--tol {
    background: #fff3e0;
    color: #ef6c00;
}
.playarea-status-badge--over {
    background: #ffebee;
    color: #c62828;
}
.playarea-time-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}
.playarea-time-grid--single {
    grid-template-columns: 1fr;
}
.playarea-time-cell {
    background: #f4f7fa;
    border: 1px solid #e3eaf2;
    border-radius: 8px;
    padding: 5px 6px;
    text-align: center;
    min-width: 0;
}
.playarea-time-label {
    display: block;
    font-size: 9px;
    font-weight: 700;
    color: #78909c;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}
.playarea-time-value {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: #37474f;
    line-height: 1.2;
    word-break: break-word;
}
.playarea-time-value--over {
    color: #c62828;
}
.playarea-time-value--warn {
    color: #f57f17;
}
.playarea-time-value--tol {
    color: #ef6c00;
}
.playarea-account-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 9px;
    border-radius: 9px;
    border: 1px solid #dce4ec;
    background: #f8fafc;
    font-family: inherit;
    text-align: left;
    cursor: default;
}
.playarea-account-bar--masa:not(:disabled) {
    cursor: pointer;
}
.playarea-account-bar--masa:not(:disabled):hover {
    background: #eef4fb;
    border-color: #90a4ae;
}
.playarea-account-bar--pesin {
    background: #f3f0ff;
    border-color: #d1c4e9;
}
.playarea-account-bar-type {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    color: #78909c;
    flex-shrink: 0;
}
.playarea-account-bar-value {
    font-size: 11px;
    font-weight: 700;
    color: #37474f;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.playarea-account-bar-chevron {
    font-size: 10px;
    color: #90a4ae;
    flex-shrink: 0;
}
.playarea-account-bar > i:first-child {
    color: #5c6bc0;
    width: 14px;
    text-align: center;
    flex-shrink: 0;
}
.playarea-card-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    flex-shrink: 0;
}

.playarea-card-head .playarea-child-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    flex: 0 0 auto;
    min-width: 0;
}

.playarea-card-head .table-number,
.playarea-card-head .playarea-child-name {
    font-size: 1.05rem;
    font-weight: 800;
    color: #263238;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-break: break-word;
    flex: 1 1 auto;
    min-width: 0;
}

.playarea-card-head .playarea-remaining-pill {
    align-self: flex-end;
    max-width: 100%;
    white-space: normal;
    text-align: right;
    word-break: break-word;
    line-height: 1.25;
}

.playarea-child-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.playarea-child-avatar {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #7e57c2 0%, #5c6bc0 100%);
    color: #fff;
}

.playarea-card-meta {
    font-size: 0.72rem;
    color: #607d8b;
    margin-top: 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.playarea-card-body .playarea-child-name {
    font-size: 1rem;
    font-weight: 800;
    color: #263238;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.playarea-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.playarea-link-row span,
.playarea-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    color: #546e7a;
    background: #f0f4f8;
    border: 1px solid #e3eaf2;
    border-radius: 999px;
    padding: 3px 8px;
}
.playarea-link-btn {
    cursor: pointer;
    font-weight: 700;
    font-family: inherit;
}
.playarea-link-btn:hover:not(:disabled) {
    background: #e8f0f8;
    border-color: #b0bec5;
    color: #37474f;
}
.playarea-link-btn:disabled {
    cursor: default;
    opacity: 0.85;
}

.playarea-extend-hint {
    margin-top: 6px;
}
.playarea-extend-hint small {
    display: block;
    font-size: 9px;
    line-height: 1.35;
    color: #78909c;
    font-weight: 600;
}
.playarea-extend-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.playarea-extend-btn {
    font-size: 10px;
    font-weight: 800;
    border-radius: 999px;
    padding: 4px 10px;
    border: 1px solid #c5cae9;
    background: #ede7f6;
    color: #4527a0;
}
.playarea-extend-btn:hover {
    filter: brightness(0.97);
}

.playarea-extend-btns--card {
    margin-top: 6px;
}

.playarea-extend-btns--toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 2px;
    margin-bottom: 2px;
    position: relative;
    z-index: 1;
}

.playarea-card-status-dot {
    display: none !important;
}

.playarea-remaining-pill {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1px;
    background: #eef3f7;
    color: #455a64;
}

.playarea-progress-wrap {
    margin-top: 8px;
}
.playarea-progress-bottom {
    position: static;
    margin-top: 0;
    padding: 0;
}
.playarea-progress-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    color: #607d8b;
    margin-bottom: 5px;
}

.playarea-progress-track {
    height: 10px;
    border-radius: 999px;
    background: #e8eef3;
    width: 100%;
    overflow: hidden;
    border: 1px solid #d9e3ec;
    display: block;
    visibility: visible;
}

.playarea-card-quick-finish {
    position: static;
    border: 1px solid #ef9a9a;
    background: #fff5f5;
    color: #b71c1c;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.playarea-card-sound-mute {
    position: static;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid #cfd8dc;
    background: #eceff1;
    color: #455a64;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}
.playarea-card-sound-mute:hover {
    filter: brightness(0.97);
}
.playarea-card-sound-mute[aria-pressed="true"] {
    background: #fff3e0;
    border-color: #ffb74d;
    color: #e65100;
}

.playarea-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--success-hover) 0%, var(--success) 100%);
    transition: width 0.35s ease;
}

.playarea-card-footer {
    margin-top: 8px;
    padding-top: 8px;
    gap: 8px;
}

.playarea-card-footer .btn {
    min-height: 34px;
    border-radius: 10px;
    font-weight: 700;
}

.playarea-card.playarea-ok {
    border-left: 4px solid var(--success);
}

.playarea-card.playarea-warn {
    border-left: 4px solid #ffb300;
    background: linear-gradient(180deg, #fff9e8 0%, #ffffff 100%);
}

.playarea-card.playarea-tol {
    border-left: 4px solid #ff9800;
    background: linear-gradient(180deg, #fff3e0 0%, #ffffff 100%);
}

.playarea-card.playarea-over {
    border-left: 4px solid #e53935;
    background: linear-gradient(180deg, #fff0f0 0%, #ffffff 100%);
}
.playarea-card.playarea-over {
    animation: playareaOverInset 1s ease-in-out infinite;
}


.theme-dark .playarea-view {
    background:
        radial-gradient(1200px 320px at 20% -20%, rgba(126, 87, 194, 0.22), transparent 60%),
        radial-gradient(900px 260px at 90% -10%, rgba(38, 166, 154, 0.18), transparent 55%),
        linear-gradient(180deg, #151a20 0%, #12171d 100%);
}

.theme-dark .playarea-toolbar {
    background: rgba(33, 39, 47, 0.75);
    border-color: #333d48;
}

.theme-dark .playarea-toolbar-title {
    color: #eceff1;
}

.theme-dark .playarea-toolbar-subtitle {
    color: #b0bec5;
}

.theme-dark .playarea-stat-card {
    background: #222a33;
    border-color: #34404d;
}

.theme-dark .playarea-stat-card span {
    color: #9fb2bf;
}

.theme-dark .playarea-stat-card strong {
    color: #e6edf2;
}

.theme-dark .playarea-pending-aside {
    border-left-color: #333d48;
    background: #1e242c;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45);
}

.theme-dark .playarea-pending-aside-head {
    color: #eceff1;
    border-bottom-color: #333d48;
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.14) 0%, rgba(30, 36, 44, 0.98) 100%);
}

.theme-dark .playarea-pending-aside-head-title i {
    color: #a5b4fc;
}

.theme-dark .playarea-pending-queue-item {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.22) 0%, rgba(56, 189, 248, 0.12) 100%);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}

.theme-dark .playarea-pending-queue-rank {
    background: rgba(0, 0, 0, 0.28);
    color: #a5b4fc;
    border-color: rgba(165, 180, 252, 0.2);
}

.theme-dark .playarea-pending-queue-title {
    color: #eceff1;
}

.theme-dark .playarea-pending-queue-meta {
    color: #94a3b8;
}

.theme-dark .playarea-pending-queue-time {
    color: #a5b4fc;
}

.theme-dark .playarea-card {
    background: #1f2329;
    border-color: #303842;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.theme-dark .playarea-card-quick-finish {
    background: #3a2323;
    border-color: #8b3b3b;
    color: #ff8a80;
}

.theme-dark .playarea-card-sound-mute {
    background: #2d333b;
    border-color: #4a5568;
    color: #cbd5e1;
}
.theme-dark .playarea-card-sound-mute[aria-pressed="true"] {
    background: #3d351f;
    border-color: #b45309;
    color: #fdba74;
}

.theme-dark .playarea-card-head .table-number,
.theme-dark .playarea-card-head .playarea-child-name {
    color: #eceff1;
}

.theme-dark .playarea-card-meta,
.theme-dark .playarea-progress-meta {
    color: #b0bec5;
}

.theme-dark .playarea-card-body .playarea-child-name {
    color: #eceff1;
}
.theme-dark .playarea-card-rail {
    background: linear-gradient(180deg, rgba(126, 87, 194, 0.22) 0%, rgba(92, 107, 192, 0.12) 100%);
    border-right-color: #3d4654;
}
.theme-dark .playarea-rail-btn {
    background: #2a3038;
    border-color: #5c4d8a;
    color: #d1c4e9;
}
.theme-dark .playarea-time-cell {
    background: #252d36;
    border-color: #36414d;
}
.theme-dark .playarea-time-label {
    color: #90a4ae;
}
.theme-dark .playarea-time-value {
    color: #eceff1;
}
.theme-dark .playarea-account-bar {
    background: #252d36;
    border-color: #36414d;
}
.theme-dark .playarea-account-bar--pesin {
    background: #2a2438;
    border-color: #4a3f66;
}
.theme-dark .playarea-account-bar-value {
    color: #eceff1;
}

.theme-dark .playarea-link-row span,
.theme-dark .playarea-link-btn {
    background: #252d36;
    border-color: #36414d;
    color: #c3d0d8;
}
.theme-dark .playarea-link-btn:hover:not(:disabled) {
    background: #2f3842;
    color: #eceff1;
}

.theme-dark .playarea-remaining-pill {
    background: #2b323b;
    color: #eceff1;
}

.theme-dark .playarea-progress-track {
    background: #2c3640;
}

.theme-dark .playarea-progress-bottom {
    background: linear-gradient(180deg, rgba(31,35,41,0) 0%, rgba(31,35,41,0.96) 26%);
}

@keyframes playareaStripeMove {
    0% { background-position: 0 0; }
    100% { background-position: 28px 0; }
}
@keyframes playareaPendingBlink {
    0%, 100% { box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), 0 0 0 0 rgba(246, 195, 67, 0.45), 0 0 22px rgba(246, 195, 67, 0.18); }
    50% { box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), 0 0 0 14px rgba(246, 195, 67, 0.08), 0 0 34px rgba(246, 195, 67, 0.28); }
}
@keyframes playareaOverInset {
    0%, 100% { box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), inset 0 0 0 2px rgba(229, 57, 53, 0.35); }
    50% { box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), inset 0 0 0 3px rgba(229, 57, 53, 0.9); }
}
@keyframes playareaNavAlert {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 152, 0, 0.45); }
    50% { box-shadow: 0 0 0 6px rgba(255, 152, 0, 0.2); }
}

.theme-dark .playarea-card-footer {
    border-top-color: #2f3842;
}

.theme-dark .numaratorqueue-card.numaratorqueue-receipt.playarea-card {
    background: transparent;
    border: none;
    box-shadow: none;
}

.theme-dark .numaratorqueue-receipt-paper {
    background: linear-gradient(178deg, #2a313c 0%, #232a34 40%, #1c222b 100%);
    filter:
        drop-shadow(0 22px 50px rgba(0, 0, 0, 0.65))
        drop-shadow(0 10px 26px rgba(0, 0, 0, 0.45))
        drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

.theme-dark .numaratorqueue-receipt-kicker,
.theme-dark .numaratorqueue-receipt-no-label,
.theme-dark .numaratorqueue-receipt-columns {
    color: #94a3b8;
}

.theme-dark .numaratorqueue-display-no {
    color: #f1f5f9;
    text-shadow: none;
}

.theme-dark .numaratorqueue-massa-pill,
.theme-dark .numaratorqueue-time-pill {
    background: rgba(148, 163, 184, 0.12);
    color: #cbd5e1;
}

.theme-dark .numaratorqueue-receipt-doc-lbl {
    color: #94a3b8;
}

.theme-dark .numaratorqueue-receipt-doc-val {
    color: #e2e8f0;
}

.theme-dark .numaratorqueue-lines li {
    border-top-color: rgba(148, 163, 184, 0.25);
}

.theme-dark .numaratorqueue-line-name {
    color: #f1f5f9;
}

.theme-dark .numaratorqueue-line-extra {
    color: #94a3b8;
}

.theme-dark .numaratorqueue-line-qty {
    color: #5eead4;
}

.theme-dark .numaratorqueue-receipt-footer {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.5) 0%, #1e293b 100%);
    border-top-color: rgba(148, 163, 184, 0.28);
}

.theme-dark .numaratorqueue-receipt-adisyon-note {
    background: rgba(251, 191, 36, 0.08);
    border-color: rgba(251, 191, 36, 0.35);
}
.theme-dark .numaratorqueue-receipt-adisyon-label {
    color: #fbbf24;
}
.theme-dark .numaratorqueue-receipt-adisyon-text {
    color: #e2e8f0;
}

.theme-dark .numaratorqueue-ready-hint {
    color: #94a3b8;
}

/* Oyun başlatma modalı - okunaklı ve radio odaklı */
.playarea-start-modal .swal2-title.playarea-sale-modal-title-hidden,
.playarea-start-modal .swal2-title:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden;
}
.playarea-sale-modal-header {
    text-align: center;
    padding: 0 0.25rem 14px;
    margin: 0 0 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color, #cbd5e1) 70%, transparent);
}
.playarea-sale-modal-product-name {
    margin: 0 0 8px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text-primary, #1e293b);
    letter-spacing: -0.01em;
}
.playarea-sale-modal-table-row {
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.875rem;
    line-height: 1.3;
}
.playarea-sale-modal-table-label {
    font-weight: 600;
    color: var(--text-muted, #64748b);
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}
.playarea-sale-modal-table-value {
    font-weight: 700;
    color: var(--primary-color, #e0143a);
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary-color, #e0143a) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--primary-color, #e0143a) 22%, transparent);
}
.theme-dark .playarea-sale-modal-product-name {
    color: #f1f5f9;
}
.theme-dark .playarea-sale-modal-table-label {
    color: #94a3b8;
}
.playarea-start-modal .swal2-title.playarea-sale-modal-title-wrap {
    display: none;
}
.playarea-sale-modal-title {
    display: none;
}
.playarea-sale-modal-masa {
    display: none;
}
.playarea-sale-modal-product {
    display: none;
}

.playarea-start-modal {
    width: min(600px, 94vw) !important;
    border-radius: 16px !important;
    padding: 20px 20px 16px !important;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.25) !important;
    overflow: visible !important;
}

.playarea-start-modal.playarea-modal-shake {
    animation: modal-shake 0.4s ease;
}

.playarea-start-modal .swal2-html-container {
    margin: 8px 0 0 !important;
    text-align: left !important;
    overflow: visible !important;
    position: relative;
    z-index: 2;
}

.playarea-start-modal .swal2-actions {
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 12px;
    padding: 12px 0 0;
    margin: 0.5rem auto 0;
}

.playarea-start-modal .swal2-actions .swal2-styled {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0.65rem 1rem !important;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.25;
    box-sizing: border-box;
    height: auto;
    min-height: 44px;
}

.playarea-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
}

.playarea-start-modal .playarea-form-row {
    overflow: visible;
    position: relative;
}

.playarea-form-note {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #64748b;
}

.playarea-form-note--warn {
    color: #b45309;
    background: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: 10px;
    padding: 8px 10px;
}

.playarea-form-row--switch {
    margin-top: 4px;
}

.playarea-start-modal .playarea-start-now-row {
    margin-bottom: 0;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.playarea-start-modal .playarea-start-now-row .app-switch-label {
    font-weight: 600;
    color: #455a64;
    margin: 0;
    flex: 1;
    line-height: 1.3;
}

.theme-dark .playarea-start-modal .playarea-start-now-row .app-switch-label {
    color: #cfd8dc;
}

.playarea-form-row label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #455a64;
}

.playarea-start-modal .swal2-input {
    width: 100% !important;
    margin: 0 !important;
    height: 42px;
    border-radius: 10px !important;
    border: 1px solid #d5dce0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #263238 !important;
}

.playarea-start-modal select.swal2-input {
    position: relative;
    z-index: 3;
}

.playarea-veli-wrap {
    position: relative;
    width: 100%;
    z-index: 4;
}

.playarea-veli-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 27650;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    max-height: 220px;
    overflow-y: auto;
    border-radius: 10px;
    border: 1px solid #d5dce0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.playarea-veli-suggest--portal {
    position: fixed;
}

.playarea-veli-suggest-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: #263238;
    font: inherit;
}

.playarea-veli-suggest-btn:hover,
.playarea-veli-suggest-btn:focus {
    background: #e8f4fd;
    outline: none;
}

.playarea-veli-suggest-name {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.playarea-veli-star-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #d4a017;
    font-size: 0.72rem;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 1px rgba(180, 134, 11, 0.35));
}

.playarea-veli-star-badge .fa-star {
    font-size: 0.7rem;
}

.playarea-veli-visit-count {
    display: inline-flex;
    align-items: center;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(212, 160, 23, 0.14);
    border: 1px solid rgba(212, 160, 23, 0.35);
    color: #92680a;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
    flex-shrink: 0;
}

.theme-dark .playarea-veli-visit-count {
    background: rgba(250, 204, 21, 0.12);
    border-color: rgba(250, 204, 21, 0.35);
    color: #fcd34d;
}

.playarea-veli-suggest-tel {
    font-size: 0.85em;
    color: #64748b;
}

.theme-dark .playarea-veli-suggest {
    background: #1e293b;
    border-color: #334155;
}

.theme-dark .playarea-veli-suggest-btn {
    color: #e2e8f0;
}

.theme-dark .playarea-veli-suggest-btn:hover,
.theme-dark .playarea-veli-suggest-btn:focus {
    background: #334155;
}

.customer-display-kind-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 4px 8px;
}

.customer-display-kind-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.95rem;
}

.customer-display-kind-option input {
    flex-shrink: 0;
}

.pole-display-settings-card .pole-display-settings-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 4px 4px;
}

.pole-display-settings-card .settings-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pole-display-settings-card .settings-field-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary, #5f6368);
    margin: 0;
}

.pole-display-settings-card .scale-settings-field-input {
    width: 100%;
    max-width: 220px;
}

.pole-display-ports-grid {
    max-height: 160px;
    overflow-y: auto;
}

.pole-display-test-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.pole-display-test-row .form-control {
    flex: 1 1 100px;
    min-width: 80px;
    max-width: 140px;
}

.pole-display-test-row .pole-display-test-input {
    max-width: 160px;
}

.playarea-duration-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.playarea-duration-option {
    cursor: pointer;
}

.playarea-duration-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.playarea-duration-option span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: 10px;
    border: 1px solid #d5dce0;
    background: #f7f9fc;
    color: #37474f;
    font-weight: 600;
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}

.playarea-duration-option input:checked + span {
    background: #e8f5e9;
    border-color: #66bb6a;
    color: #1b5e20;
    box-shadow: 0 0 0 2px rgba(102, 187, 106, 0.2);
}
/* Gel-Al alt panel: boş kayıt sil */
.action-btn.btn-gelal-delete {
    background: #e53935;
    border-color: #e53935;
    color: #fff;
}
.action-btn.btn-gelal-delete:hover {
    background: #fff;
    color: #e53935;
}

/* Barkod hızlı ürün ekleme modalı (dokunmatik odaklı) */
.barcode-quick-add-overlay {
    align-items: center;
}
.barcode-quick-add-modal {
    width: min(760px, 96vw);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
}
.barcode-quick-add-modal .modal-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.barcode-quick-add-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    min-height: 0;
}
.barcode-quick-add-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 14px;
    height: 100%;
    min-height: 0;
}
.barcode-quick-add-groups-panel {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--surface, #fff);
    padding: 10px;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.barcode-quick-add-groups-title {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
}
.barcode-quick-add-groups-filter-wrap {
    margin-bottom: 8px;
}
.barcode-quick-add-quick-group {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
    align-items: stretch;
}
.barcode-quick-add-quick-group-input {
    flex: 1;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.75rem;
    background: var(--white);
    color: var(--text-primary);
    font-family: var(--font-family-base);
}
.barcode-quick-add-quick-group-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}
.barcode-quick-add-quick-group-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-radius: var(--border-radius);
    border: 1px solid #2f7df6;
    background: #2f7df6;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--font-family-base);
}
.barcode-quick-add-quick-group-btn:hover:not(:disabled) {
    filter: brightness(1.06);
}
.barcode-quick-add-quick-group-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.barcode-quick-add-groups-filter-input {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    background: var(--white);
    color: var(--text-primary);
    font-family: var(--font-family-base);
}
.barcode-quick-add-groups-filter-input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}
.barcode-quick-add-groups-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding-right: 2px;
}
.barcode-quick-add-group-item {
    text-align: left;
    width: 100%;
    border: 1px solid #d0d7e2;
    background: #f8fafc;
    color: #1f2937;
    border-radius: 10px;
    padding: 0.5rem 0.75rem;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    min-height: 42px;
}
.barcode-quick-add-group-item.active {
    background: #e6f0ff;
    border-color: #2f7df6;
    color: #1253b8;
}
.barcode-quick-add-form-panel {
    min-width: 0;
    min-height: 0;
    overflow: auto;
}
.barcode-quick-add-field label {
    display: block;
    color: var(--text-primary);
    font-weight: 500;
    margin-bottom: 0.45rem;
    font-size: 0.8rem;
}
.barcode-quick-add-form-panel .form-group {
    margin-bottom: 0.9rem;
}
.barcode-quick-add-field input,
.barcode-quick-add-field select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.8rem;
    background: var(--white);
    color: var(--text-primary);
    font-family: var(--font-family-base);
    transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, transform 0.12s ease;
}
.barcode-quick-add-field input:focus,
.barcode-quick-add-field select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 23, 68, 0.1);
}
.barcode-quick-add-price-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.barcode-quick-add-buy-price input {
    background: #fff5f5;
    border-color: #f5c6cb;
}
.barcode-quick-add-buy-price label {
    color: #b91c1c;
}
.barcode-quick-add-sale-price input {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.barcode-quick-add-sale-price label {
    color: #166534;
}
.theme-dark .barcode-quick-add-buy-price input {
    background: #3b2228;
    border-color: #7f1d1d;
    color: #fecdd3;
}
.theme-dark .barcode-quick-add-buy-price label {
    color: #fca5a5;
}
.theme-dark .barcode-quick-add-sale-price input {
    background: #14261f;
    border-color: #14532d;
    color: #bbf7d0;
}
.theme-dark .barcode-quick-add-sale-price label {
    color: #86efac;
}
.theme-dark .barcode-quick-add-quick-group-input {
    background: #202734;
    border-color: #3a4556;
    color: #e5e7eb;
}
.theme-dark .barcode-quick-add-quick-group-btn {
    border-color: #2f7df6;
    background: #1d4ed8;
}
.theme-dark .barcode-quick-add-groups-panel {
    background: #1f2633;
    border-color: #3a4556;
}
.theme-dark .barcode-quick-add-group-item {
    background: #202734;
    border-color: #3a4556;
    color: #e5e7eb;
}
.theme-dark .barcode-quick-add-groups-filter-input {
    background: #202734;
    border-color: #3a4556;
    color: #e5e7eb;
}
.theme-dark .barcode-quick-add-group-item.active {
    background: #16335f;
    border-color: #2f7df6;
    color: #dbeafe;
}
.barcode-quick-add-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.barcode-quick-add-cancel-btn {
    background: #e53935;
    border: 1px solid #e53935;
    color: #fff;
}
.barcode-quick-add-cancel-btn:hover {
    background: #fff;
    color: #e53935;
}
@media (max-width: 720px) {
    .barcode-quick-add-layout {
        grid-template-columns: 1fr;
    }
    .barcode-quick-add-groups-panel {
        max-height: 220px;
    }
    .barcode-quick-add-price-row {
        grid-template-columns: 1fr;
    }
}

/* Hotel: tam yükseklik, sol sidebar yapışık, sağda işlem paneli */
.hotel-page-wrapper {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--light-gray, #f0f0f0);
}
.hotel-page.hotel-page--bleed {
    padding: 0;
    margin: 0;
    gap: 0;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--light-gray, #f0f0f0);
}
.hotel-loading {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--text-secondary, #666);
}
.hotel-shell {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    overflow: hidden;
}
.hotel-sidebar-full.map-sidebar {
    width: 260px;
    flex-shrink: 0;
    align-self: stretch;
    height: auto;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    border-right: 1px solid var(--border-color, #e0e0e0);
    border-left: none;
    border-top: none;
    border-bottom: none;
}
.hotel-sidebar-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}
.hotel-sidebar-top .map-sidebar-title {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 1.05rem;
}
.hotel-sidebar-refresh {
    flex-shrink: 0;
}
.hotel-search-wrap {
    position: relative;
    width: 100%;
}
.hotel-search-wrap .fa-search {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #8f96a3;
    font-size: 0.85rem;
    pointer-events: none;
}
.hotel-search-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem 0.5rem 2.1rem;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: var(--border-radius, 8px);
    font-size: 0.875rem;
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #333);
}
.hotel-search-input:focus {
    outline: none;
    border-color: var(--primary, #ab223b);
    box-shadow: 0 0 0 2px rgba(171, 34, 59, 0.12);
}
.hotel-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.hotel-chip-list--stack {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
}
.hotel-chip {
    flex: 0 1 auto;
    min-width: 0;
    border: 1px solid var(--border-color, #e0e0e0);
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #333);
    border-radius: 999px;
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.hotel-chip--full {
    width: 100%;
    border-radius: var(--border-radius, 8px);
    text-align: center;
    justify-content: center;
}
.hotel-chip:hover {
    background: var(--light-gray, #f5f5f5);
    border-color: var(--primary, #ab223b);
}
.hotel-chip.active {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-color: #70bf74;
    color: #367338;
    font-weight: bold;
}
.hotel-switch-row { margin-top: 0.35rem; margin-bottom: 6px; }
.hotel-sidebar-actions { display: flex; flex-direction: column; gap: 6px; }
.hotel-sidebar-btn { width: 100%; }
.hotel-main-split {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: row;
    overflow: hidden;
}
.hotel-grid-panel {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
    background: var(--bg-secondary, #f0f0f0);
}
.hotel-grid-empty {
    min-height: 200px;
    justify-content: center;
}
.hotel-ops-panel {
    width: min(400px, 36vw);
    flex-shrink: 0;
    min-height: 0;
    border-left: 1px solid var(--border-color, #e0e0e0);
    background: var(--bg-primary, #fff);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.hotel-ops-inner {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
}
.hotel-ops-empty {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    text-align: center;
    color: var(--text-secondary, #666);
    background: var(--bg-primary, #fff);
}
.hotel-ops-empty-icon {
    font-size: 2rem;
    opacity: 0.35;
    margin-bottom: 0.5rem;
}
.hotel-ops-empty-title {
    margin: 0 0 0.35rem 0;
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-primary, #333);
}
.hotel-ops-empty-text {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    max-width: 280px;
}
.hotel-actions-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.hotel-actions-title-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin-bottom: 10px;
}
.hotel-actions-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}
.hotel-actions-price { font-weight: 700; font-size: 0.9rem; color: var(--primary, #ab223b); }
.hotel-room-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.hotel-room-card {
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    padding: 10px;
    text-align: left;
    background: #fff;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    font: inherit;
    width: 100%;
}
.hotel-room-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,.08);
    border-color: var(--primary, #ab223b);
}
.hotel-room-card:focus-visible {
    outline: 2px solid var(--primary, #ab223b);
    outline-offset: 2px;
}
.hotel-room-card--selected {
    outline: 2px solid var(--primary, #ab223b);
    outline-offset: 0;
    border-color: var(--primary, #ab223b);
    box-shadow: 0 0 0 1px rgba(171, 34, 59, 0.15);
}
.hotel-room-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.hotel-room-no { font-weight: 700; font-size: 1.02rem; }
.hotel-room-status { font-size: .78rem; font-weight: 600; opacity: .9; }
.hotel-room-name { font-size: .92rem; font-weight: 600; margin-bottom: 5px; min-height: 32px; }
.hotel-room-meta { font-size: .78rem; display: flex; justify-content: space-between; color: #5f5f5f; }
.hotel-room-card--empty { border-left: 5px solid #2eaf66; }
.hotel-room-card--occupied { border-left: 5px solid #e04d4d; }
.hotel-room-card--reserved { border-left: 5px solid #d09a00; }
.hotel-room-card--cleaning { border-left: 5px solid #1d9fd6; }
.hotel-room-card--maintenance { border-left: 5px solid #7b69c6; }
.hotel-room-card--depart { border-left: 5px solid #f0b429; background: linear-gradient(180deg, #fffdf5 0%, #fff 100%); }
.hotel-room-card--dirty { border-left: 5px solid #2b2b2b; background: #f4f4f4; }
.hotel-room-card--dragover { outline: 2px dashed var(--primary, #ab223b); background: #fff8fa; }
.hotel-module-off { display: flex; align-items: center; justify-content: center; min-height: 320px; padding: 24px; }
.hotel-module-off-inner { text-align: center; max-width: 420px; color: #555; }
.hotel-module-off-inner i { font-size: 2.5rem; color: #999; margin-bottom: 12px; }
.hotel-shell--pms { flex-direction: column; }
.hotel-pms-kpi {
    display: flex; flex-wrap: wrap; gap: 10px; padding: 10px 12px; margin-bottom: 8px;
    background: #fafafa; border: 1px solid #ececec; border-radius: 10px; align-items: stretch;
}
.hotel-pms-kpi-item { min-width: 100px; padding: 8px 12px; border-radius: 8px; background: #fff; border: 1px solid #e8e8e8; }
.hotel-pms-kpi-item strong { display: block; font-size: 1.15rem; }
.hotel-pms-kpi-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #666; }
.hotel-pms-kpi-item--money strong { color: #1a7f37; }
.hotel-pms-kpi-item--alert { border-color: #f5c542; background: #fffbeb; }
.hotel-pms-kpi-item--vip { border-color: #c9a227; background: #fffdf0; }
.hotel-pms-kpi-item--warn { border-color: #e04d4d; background: #fff5f5; }
.hotel-pms-metrics { display: flex; flex-wrap: wrap; gap: 12px; padding: 6px 12px 10px; font-size: .85rem; color: #444; }
.hotel-pms-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 4px 12px 10px; font-size: .78rem; color: #555; }
.hotel-floor-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 8px 12px 12px;
    border-bottom: 1px solid #e8e8e8;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.hotel-floor-tab {
    border: 1px solid #cfd6e0;
    background: #fff;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #3e4656;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.hotel-floor-tab:hover {
    border-color: var(--primary, #c00);
    color: var(--primary, #c00);
}
.hotel-floor-tab--active {
    background: var(--primary, #c00);
    border-color: var(--primary, #c00);
    color: #fff;
}
.hotel-leg { margin-right: 4px; }
.hotel-leg--empty { color: #2eaf66; }
.hotel-leg--occ { color: #e04d4d; }
.hotel-leg--dep { color: #f0b429; }
.hotel-leg--res { color: #d09a00; }
.hotel-leg--dirty { color: #333; }
.hotel-floor-block { margin-bottom: 14px; }
.hotel-floor-label { font-weight: 700; font-size: .85rem; margin-bottom: 6px; color: #3e4656; }
.hotel-room-grid--floor { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.hotel-room-guest { font-size: .72rem; color: #444; margin-top: 4px; font-weight: 600; }
.hotel-vip-badge { display: inline-block; margin-left: 4px; padding: 1px 5px; border-radius: 4px; background: #c9a227; color: #fff; font-size: .65rem; vertical-align: middle; }
.hotel-folio-list { max-height: 140px; overflow: auto; margin-bottom: 8px; font-size: .82rem; }
.hotel-folio-line { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; border-bottom: 1px solid #eee; }
.hotel-folio-empty { margin: 0; font-size: .8rem; color: #888; }
.hotel-cal-list { max-height: 160px; overflow: auto; font-size: .78rem; }
.hotel-cal-row { display: grid; grid-template-columns: 48px 1fr; gap: 4px 8px; padding: 4px 0; border-bottom: 1px solid #eee; align-items: baseline; }
.hotel-cal-row--draggable { cursor: grab; }
.hotel-cal-row--draggable:active { cursor: grabbing; }
.hotel-cal-dates { grid-column: 1 / -1; font-size: .72rem; color: #666; }
.hotel-inline-check { display: flex; align-items: center; gap: 6px; font-size: .85rem; }
.hotel-actions-panel { border: 1px solid #e6e6e6; border-radius: 12px; background: #fff; padding: 12px; }
.hotel-actions-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 10px; }
.hotel-action-card { border: 1px solid #ececec; border-radius: 10px; padding: 10px; background: #fafafa; }
.hotel-action-card h5 { margin: 0 0 8px 0; font-size: .92rem; font-weight: 700; }
.hotel-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 8px; }
.hotel-form-grid--single { grid-template-columns: 1fr; }
.hotel-action-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.hotel-layout { display: grid; grid-template-columns: 280px 1fr; gap: 12px; min-height: 280px; }
.search-input-wrap { position: relative; }
.search-input-wrap > i { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #8f96a3; }
.search-input-wrap > input { padding-left: 30px; }
.hotel-capacity-group { margin-bottom: 10px; }
.hotel-capacity-header { margin: 0 0 7px 0; font-size: .95rem; font-weight: 700; color: #3e4656; }
.theme-dark .hotel-page-wrapper,
.theme-dark .hotel-page.hotel-page--bleed { background: var(--bg-secondary, #1a1a1a); }
.theme-dark .hotel-sidebar-full.map-sidebar { background: var(--card-bg); border-color: var(--border-color); }
.theme-dark .hotel-grid-panel { background: var(--bg-secondary, #1a1a1a); }
.theme-dark .hotel-ops-panel,
.theme-dark .hotel-ops-empty { background: var(--card-bg); border-color: var(--border-color); }
.theme-dark .hotel-room-card,
.theme-dark .hotel-actions-panel,
.theme-dark .hotel-action-card { background: var(--card-bg); border-color: var(--border-color); }
.theme-dark .hotel-room-meta,
.theme-dark .hotel-actions-price { color: var(--text-secondary); }
.theme-dark .hotel-search-input { background: var(--card-bg); color: var(--text-color); border-color: var(--border-color); }
.theme-dark .hotel-chip { background: var(--card-bg); border-color: var(--border-color); color: var(--text-color); }
.theme-dark .hotel-chip:hover { background: rgba(255,255,255,0.06); border-color: var(--primary); }
.theme-dark .hotel-chip.active {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.22) 0%, rgba(56, 142, 60, 0.28) 100%);
    border-color: #70bf74;
    color: #c8e6c9;
}
@media (max-width: 1100px) {
    .hotel-layout { grid-template-columns: 1fr; }
    .hotel-main-split { flex-direction: column; }
    .hotel-ops-panel {
        width: 100%;
        max-height: min(48vh, 420px);
        border-left: none;
        border-top: 1px solid var(--border-color, #e0e0e0);
    }
    .hotel-sidebar-full.map-sidebar {
        width: 100%;
        max-height: 280px;
        border-right: none;
        border-bottom: 1px solid var(--border-color, #e0e0e0);
    }
    .hotel-shell { flex-direction: column; overflow-y: auto; }
    .hotel-pms-v2-body { flex-direction: column; }
    .hotel-pms-v2-floor-rail {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 8px;
        border-right: none;
        border-bottom: 1px solid var(--border-color, #e0e0e0);
    }
    .hotel-pms-v2-floor-rail-title { display: none; }
    .hotel-pms-v2-floor-rail-btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 56px;
        flex-direction: row;
        gap: 6px;
        padding: 6px 10px;
    }
    .hotel-pms-v2-drawer {
        width: 100%;
        max-height: min(42vh, 380px);
        border-left: none;
        border-top: 1px solid var(--border-color, #e0e0e0);
    }
    .hotel-pms-v2-desk { grid-template-columns: 1fr; }
}

/* ——— Otel PMS v2: tek ekran, oda grid + takvim + ön büro ——— */
.hotel-pms-v2-shell {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-secondary, #eef1f5);
}
.hotel-pms-v2-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.55rem 0.75rem;
    background: var(--nav-bg);
    background: linear-gradient(0deg, var(--nav-bg) 40%, var(--nav-bg-dark) 100%);
    color: #fff;
    border-bottom: 1px solid var(--nav-bg-dark);
}
.hotel-pms-v2-kpi {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: stretch;
}
.hotel-pms-v2-kpi-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 0.25rem 0.55rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.hotel-pms-v2-kpi-item strong {
    font-size: 1rem;
    line-height: 1.1;
    font-weight: 800;
}
.hotel-pms-v2-kpi-item span {
    font-size: 0.62rem;
    opacity: 0.88;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.hotel-pms-v2-kpi-item--money strong { color: #b9f6ca; }
.hotel-pms-v2-kpi-item--warn { background: rgba(255, 193, 7, 0.22); }
.hotel-pms-v2-kpi-item--occ strong { color: #ffcdd2; }
.hotel-pms-v2-metrics {
    display: flex;
    gap: 0.85rem;
    font-size: 0.78rem;
    opacity: 0.92;
}
.hotel-pms-v2-metrics strong { font-weight: 700; }

.hotel-pms-v2-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 0.45rem 0.75rem;
    background: var(--bg-primary, #fff);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}
.hotel-pms-v2-tabs {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}
.hotel-pms-v2-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.hotel-pms-v2-tab:hover {
    background: var(--light-gray, #f5f5f5);
    color: var(--text-primary, #333);
}
.hotel-pms-v2-tab.is-active {
    background: color-mix(in srgb, var(--nav-bg) 12%, #fff);
    border-color: color-mix(in srgb, var(--nav-bg) 35%, transparent);
    color: var(--nav-bg);
}
.hotel-pms-v2-toolbar-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    flex: 1;
    min-width: 0;
    justify-content: flex-end;
}
.hotel-pms-v2-search {
    width: min(200px, 100%);
    flex-shrink: 0;
}
.hotel-pms-v2-chips {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
}
.hotel-pms-v2-chip {
    min-width: 2rem;
    padding: 0.28rem 0.5rem;
    border-radius: 6px;
    border: 1px solid var(--border-color, #ddd);
    background: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    color: var(--text-primary, #333);
}
.hotel-pms-v2-chip.active {
    border-color: var(--nav-bg);
    background: color-mix(in srgb, var(--nav-bg) 10%, #fff);
    color: var(--nav-bg);
}
.hotel-pms-v2-chip--empty.active { border-color: #2eaf66; background: #e8f5e9; color: #1b5e20; }
.hotel-pms-v2-chip--occ.active { border-color: #e04d4d; background: #ffebee; color: #b71c1c; }
.hotel-pms-v2-chip--res.active { border-color: #d09a00; background: #fff8e1; color: #e65100; }
.hotel-pms-v2-chip--dirty.active { border-color: #555; background: #f5f5f5; color: #333; }
.hotel-pms-v2-floor-tabs {
    display: flex;
    gap: 0.2rem;
    flex-wrap: wrap;
    max-width: 280px;
    overflow-x: auto;
}
.hotel-pms-v2-floor {
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid var(--border-color, #ddd);
    background: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.hotel-pms-v2-floor.active {
    background: var(--nav-bg);
    border-color: var(--nav-bg);
    color: #fff;
}
.hotel-pms-v2-refresh { flex-shrink: 0; }

.hotel-pms-v2-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
    overflow: hidden;
}
.hotel-pms-v2-floor-rail {
    width: 88px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 8px;
    background: linear-gradient(180deg, #f3f4f6 0%, #eceff1 100%);
    border-right: 1px solid var(--border-color, #d8dce0);
    overflow-y: auto;
}
.hotel-pms-v2-floor-rail-title {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    text-align: center;
    padding: 4px 0 8px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    margin-bottom: 4px;
}
.hotel-pms-v2-floor-rail-title i { display: block; font-size: 1rem; margin-bottom: 4px; color: var(--nav-bg, #ab223b); }
.hotel-pms-v2-floor-rail-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    padding: 8px 4px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: rgba(255,255,255,0.65);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
    -webkit-appearance: none;
    appearance: none;
    font: inherit;
    color: inherit;
}
.hotel-pms-v2-floor-rail-btn:hover {
    background: #fff;
    border-color: rgba(171, 34, 59, 0.25);
}
.hotel-pms-v2-floor-rail-btn.active {
    background: var(--nav-bg, #ab223b);
    border-color: var(--nav-bg, #ab223b);
    color: #fff;
    box-shadow: 0 2px 8px rgba(171, 34, 59, 0.28);
}
.hotel-pms-v2-floor-rail-name {
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    word-break: break-word;
}
.hotel-pms-v2-floor-rail-count {
    font-size: 0.65rem;
    opacity: 0.85;
    font-weight: 600;
}
.hotel-pms-v2-main {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 0.65rem 0.75rem;
}
.hotel-pms-v2-grid {
    grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
    gap: 8px;
}
.hotel-pms-v2-room-card {
    padding: 8px 10px;
    min-height: 88px;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.hotel-pms-v2-room-card.hotel-room-card--selected {
    outline: none;
    border-color: var(--nav-bg, #ab223b);
    box-shadow: 0 0 0 2px rgba(171, 34, 59, 0.22);
    transform: none;
}
.hotel-pms-v2-room-card.hotel-room-card--selected:focus {
    outline: none;
}
.hotel-pms-v2-fields .form-control,
.hotel-pms-v2-drawer-pane .form-control {
    width: 100%;
    padding: 0.45rem 0.65rem;
    font-size: 0.8125rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 8px;
    background: var(--bg-primary, #fff);
    color: var(--text-color, #1a1a1a);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.hotel-pms-v2-fields .form-control:focus,
.hotel-pms-v2-drawer-pane .form-control:focus {
    outline: none;
    border-color: var(--nav-bg, #ab223b);
    box-shadow: 0 0 0 2px rgba(171, 34, 59, 0.15);
}
.hotel-pms-v2-inline-2 .form-control { min-width: 0; }
.hotel-pms-v2-drawer-pane .hotel-inline-check {
    font-size: 0.8125rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.hotel-pms-v2-room-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 4px;
}
.hotel-pms-v2-room-badge {
    font-size: 0.62rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.hotel-pms-v2-room-badge--empty { background: #e8f5e9; color: #2e7d32; }
.hotel-pms-v2-room-badge--occupied { background: #ffebee; color: #c62828; }
.hotel-pms-v2-room-badge--reserved { background: #fff8e1; color: #ef6c00; }
.hotel-pms-v2-room-badge--dirty { background: #eceff1; color: #37474f; }
.hotel-pms-v2-room-badge--maintenance { background: #ede7f6; color: #5e35b1; }
.hotel-pms-v2-room-badge--depart { background: #fff3e0; color: #e65100; }
.hotel-pms-v2-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    color: #aaa;
    font-size: 2rem;
}
.hotel-pms-v2-drawer {
    width: min(360px, 36vw);
    flex-shrink: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--bg-primary, #fff);
    border-left: 1px solid var(--border-color, #e0e0e0);
    overflow: hidden;
}
.hotel-pms-v2-drawer.is-collapsed {
    width: 48px;
    min-width: 48px;
}
.hotel-pms-v2-drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid var(--border-color, #eee);
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.hotel-pms-v2-drawer-room {
    font-size: 1.25rem;
    font-weight: 800;
    display: block;
    line-height: 1.1;
}
.hotel-pms-v2-drawer-sub {
    font-size: 0.78rem;
    color: var(--text-secondary, #666);
}
.hotel-pms-v2-drawer-guest {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-color, #222);
    margin-top: 2px;
}
.hotel-pms-v2-info-card {
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    padding: 8px 10px;
    margin-bottom: 0.5rem;
    background: rgba(0,0,0,0.02);
}
.hotel-pms-v2-info-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.78rem;
    padding: 3px 0;
}
.hotel-pms-v2-info-row span { color: var(--text-secondary, #666); }
.hotel-pms-v2-info-row strong { font-weight: 600; }
.hotel-pms-v2-info-row--total { margin-top: 4px; padding-top: 6px; border-top: 1px dashed var(--border-color, #e0e0e0); }
.hotel-pms-v2-info-block {
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 0.5rem;
    background: var(--bg-primary, #fff);
}
.hotel-pms-v2-info-block--stay { border-left: 3px solid #c62828; }
.hotel-pms-v2-info-title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #666);
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.hotel-pms-v2-info-meta {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    margin-top: 4px;
}
.hotel-pms-v2-vip-tag {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 4px;
    background: #fff8e1;
    color: #e65100;
    margin-left: 6px;
}
.hotel-pms-v2-res-card {
    display: block;
    width: 100%;
    text-align: left;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 8px;
    padding: 8px 10px;
    margin-bottom: 6px;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    -webkit-appearance: none;
    appearance: none;
    font: inherit;
    color: inherit;
}
.hotel-pms-v2-res-card:hover { border-color: rgba(171, 34, 59, 0.35); background: #fff; }
.hotel-pms-v2-res-card.is-active {
    border-color: var(--nav-bg, #ab223b);
    background: rgba(171, 34, 59, 0.05);
    box-shadow: inset 3px 0 0 var(--nav-bg, #ab223b);
}
.hotel-pms-v2-res-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}
.hotel-pms-v2-res-card-top strong { font-size: 0.875rem; }
.hotel-pms-v2-res-status {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #ef6c00;
}
.hotel-pms-v2-res-card-dates { font-size: 0.78rem; font-weight: 600; }
.hotel-pms-v2-res-note {
    font-size: 0.72rem;
    color: #666;
    margin-top: 6px;
    font-style: italic;
}
.hotel-pms-v2-empty-hint {
    text-align: center;
    padding: 16px 8px;
    color: #999;
    font-size: 0.8125rem;
}
.hotel-pms-v2-empty-hint i { font-size: 1.5rem; margin-bottom: 8px; display: block; }
.hotel-pms-v2-drawer-price {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--nav-bg);
    white-space: nowrap;
}
.hotel-pms-v2-drawer-tabs {
    display: flex;
    border-bottom: 1px solid var(--border-color, #eee);
    background: #fafafa;
}
.hotel-pms-v2-drawer-tabs button {
    flex: 1;
    padding: 0.45rem 0.25rem;
    border: none;
    background: transparent;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.hotel-pms-v2-drawer-tabs button.active {
    color: var(--nav-bg);
    border-bottom-color: var(--nav-bg);
    background: #fff;
}
.hotel-pms-v2-drawer-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0.65rem 0.75rem;
}
.hotel-pms-v2-drawer-pane { display: flex; flex-direction: column; gap: 0.5rem; }
.hotel-pms-v2-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.82rem;
}
.hotel-pms-v2-guest-block {
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    background: var(--light-gray, #f5f7fa);
    border: 1px solid var(--border-color, #eee);
}
.hotel-pms-v2-guest-name { font-weight: 700; font-size: 0.9rem; }
.hotel-pms-v2-guest-dates { font-size: 0.75rem; color: var(--text-secondary, #666); margin-top: 2px; }
.hotel-pms-v2-inline-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.hotel-pms-v2-folio-head {
    font-size: 0.78rem;
    font-weight: 700;
    margin-top: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #666);
}
.hotel-pms-v2-drawer-placeholder {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 1.5rem;
}
.btn-block { width: 100%; }

/* Gantt takvim */
.hotel-gantt-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 8px 10px;
    background: var(--bg-secondary, #f8f9fa);
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 10px;
    margin-bottom: 6px;
}
.hotel-gantt-toolbar-main,
.hotel-gantt-toolbar-quick,
.hotel-gantt-toolbar-dates {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.hotel-gantt-legend {
    display: flex;
    gap: 12px;
    margin-left: auto;
    font-size: 0.72rem;
    color: #666;
}
.hotel-gantt-legend-item { display: inline-flex; align-items: center; gap: 5px; }
.hotel-gantt-legend-item i {
    display: inline-block;
    width: 14px;
    height: 8px;
    border-radius: 3px;
}
.hotel-gantt-legend-item--res i { background: linear-gradient(90deg, #ef6c00, #f9a825); }
.hotel-gantt-legend-item--stay i { background: linear-gradient(90deg, #c62828, #e53935); }
.hotel-gantt-hint {
    font-size: 0.75rem;
    color: #666;
    margin: 0 0 8px 2px;
    line-height: 1.4;
}
.hotel-gantt-range {
    font-size: 0.82rem;
    font-weight: 600;
    min-width: 140px;
    text-align: center;
}
.hotel-gantt-date { width: auto; max-width: 130px; }
.hotel-gantt-wrap {
    overflow: auto;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    background: #fff;
    max-height: calc(100vh - 280px);
}
.hotel-gantt-head,
.hotel-gantt-row {
    display: grid;
    grid-template-columns: 96px repeat(var(--hotel-gantt-days, 14), minmax(52px, 1fr));
    min-width: max-content;
}
.hotel-gantt-head {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #f8f9fb;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}
.hotel-gantt-floor-label {
    padding: 6px 10px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #666;
    background: rgba(0,0,0,0.03);
    border-bottom: 1px solid var(--border-color, #ececec);
    grid-column: 1 / -1;
}
.hotel-gantt-corner,
.hotel-gantt-day,
.hotel-gantt-room {
    padding: 0.35rem 0.25rem;
    font-size: 0.68rem;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.hotel-gantt-cell {
    border: none;
    border-right: 1px solid #f0f0f0;
    border-bottom: 1px solid #eee;
    min-height: 40px;
    background: transparent;
    padding: 0;
    cursor: pointer;
}
.hotel-gantt-cell:hover { background: rgba(171, 34, 59, 0.06); }
.hotel-gantt-cell.is-weekend { background: rgba(0,0,0,0.02); }
.hotel-gantt-day {
    text-align: center;
    font-weight: 600;
    color: var(--text-secondary, #666);
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.hotel-gantt-day-wd {
    font-size: 0.62rem;
    text-transform: uppercase;
    opacity: 0.75;
    font-weight: 500;
}
.hotel-gantt-day.is-weekend { background: rgba(0,0,0,0.025); }
.hotel-gantt-day.is-today {
    background: color-mix(in srgb, var(--nav-bg) 8%, #fff);
    color: var(--nav-bg);
}
.hotel-gantt-room {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    background: #fafafa;
    border: none;
    cursor: pointer;
    text-align: left;
    position: sticky;
    left: 0;
    z-index: 2;
}
.hotel-gantt-room.is-selected {
    background: color-mix(in srgb, var(--nav-bg) 10%, #fff);
    box-shadow: inset 3px 0 0 var(--nav-bg);
}
.hotel-gantt-room strong { font-size: 0.82rem; }
.hotel-gantt-room small { font-size: 0.62rem; color: #888; }
.hotel-gantt-track {
    position: relative;
    grid-column: 2 / -1;
    display: grid;
    grid-template-columns: repeat(var(--hotel-gantt-days, 14), minmax(52px, 1fr));
    min-height: 40px;
}
.hotel-gantt-cell.is-today { background: rgba(208, 28, 66, 0.04); }
.hotel-pms-v2-pane-hint {
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--text-secondary, #666);
    margin: 0 0 0.5rem;
    padding: 8px 10px;
    background: rgba(0,0,0,0.03);
    border-radius: 8px;
    border-left: 3px solid var(--nav-bg, #ab223b);
}
.hotel-pms-v2-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.hotel-pms-v2-field > span {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
}
.hotel-pms-v2-hk-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    margin-bottom: 0.5rem;
}
.hotel-pms-v2-hk-actions { flex-direction: column; }
.hotel-pms-v2-hk-actions .btn { width: 100%; justify-content: center; }
.settings-otomatik-oda-modal { max-width: 520px; }
.settings-otomatik-oda-hint,
.settings-otomatik-oda-preview {
    font-size: 0.8125rem;
    color: #666;
    line-height: 1.45;
    margin: 0 0 0.65rem;
}
.settings-otomatik-oda-preview { margin-top: 0.5rem; }
.settings-otomatik-oda-ranges { margin-bottom: 0.5rem; }
.settings-otomatik-oda-range-head,
.settings-otomatik-oda-range-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 36px;
    gap: 8px;
    align-items: center;
    margin-bottom: 6px;
}
.settings-otomatik-oda-range-head {
    font-size: 0.72rem;
    font-weight: 700;
    color: #666;
    text-transform: uppercase;
}
.settings-otomatik-oda-add-range { margin-top: 4px; }
.hotel-gantt-bar {
    position: absolute;
    top: 6px;
    height: 28px;
    border-radius: 6px;
    padding: 0 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: grab;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    z-index: 1;
}
.hotel-gantt-bar--res { background: linear-gradient(90deg, #ef6c00, #f9a825); }
.hotel-gantt-bar--stay { background: linear-gradient(90deg, #c62828, #e53935); }
.hotel-gantt-bar i { font-size: 0.55rem; opacity: 0.9; flex-shrink: 0; }

/* Ön büro */
.hotel-pms-v2-desk {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: start;
}
.hotel-desk-col {
    background: #fff;
    border: 1px solid var(--border-color, #e0e0e0);
    border-radius: 10px;
    padding: 0.55rem;
    min-height: 200px;
}
.hotel-desk-col h4 {
    margin: 0 0 0.45rem 0;
    font-size: 0.82rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.hotel-desk-count {
    background: var(--light-gray, #eee);
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 0.72rem;
}
.hotel-desk-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.35rem;
    border: 1px solid var(--border-color, #eee);
    border-radius: 8px;
    background: #fafbfc;
    cursor: pointer;
    font: inherit;
    transition: border-color 0.12s, background 0.12s;
}
.hotel-desk-card:hover {
    border-color: var(--nav-bg);
    background: #fff;
}
.hotel-desk-card strong { font-size: 0.82rem; }
.hotel-desk-card span { font-size: 0.72rem; color: var(--text-secondary, #666); }
.hotel-desk-card--depart { border-left: 3px solid #f0b429; }
.hotel-desk-empty {
    text-align: center;
    color: #ccc;
    padding: 1rem;
    font-size: 0.85rem;
}

.theme-dark .hotel-pms-v2-shell { background: var(--bg-secondary, #1a1a1a); }
.theme-dark .hotel-pms-v2-toolbar,
.theme-dark .hotel-gantt-wrap,
.theme-dark .hotel-desk-col,
.theme-dark .hotel-pms-v2-drawer { background: var(--card-bg); border-color: var(--border-color); }
.theme-dark .hotel-pms-v2-tab.is-active { background: rgba(255,255,255,0.08); color: var(--primary); }
.theme-dark .hotel-pms-v2-floor-rail { background: linear-gradient(180deg, #252525 0%, #1e1e1e 100%); border-color: var(--border-color); }
.theme-dark .hotel-pms-v2-floor-rail-btn { background: rgba(255,255,255,0.06); color: var(--text-color); }
.theme-dark .hotel-pms-v2-floor-rail-btn.active { color: #fff; }
.theme-dark .hotel-pms-v2-fields .form-control,
.theme-dark .hotel-pms-v2-drawer-pane .form-control { background: var(--card-bg); border-color: var(--border-color); color: var(--text-color); }
.theme-dark .hotel-pms-v2-chip,
.theme-dark .hotel-pms-v2-floor { background: var(--card-bg); border-color: var(--border-color); color: var(--text-color); }
.theme-dark .hotel-gantt-head { background: rgba(255,255,255,0.04); }
.theme-dark .hotel-gantt-room { background: rgba(255,255,255,0.03); }
.theme-dark .hotel-desk-card { background: rgba(255,255,255,0.04); }


/* VB6 cari eşitleme: arka plan işi ilerleme (PosApp alt çubuk) */
.maestro-cari-sync-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 12050;
    padding: 0.35rem 0.75rem;
    background: linear-gradient(180deg, rgba(30, 40, 55, 0.92) 0%, rgba(20, 26, 36, 0.96) 100%);
    color: #e8ecf1;
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.25);
    pointer-events: none;
}
.maestro-cari-sync-bar-inner {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.82rem;
}
.maestro-cari-sync-bar-inner .fa-sync-alt { flex-shrink: 0; opacity: 0.9; }
.maestro-cari-sync-bar-text {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.maestro-cari-sync-bar-track {
    flex: 0 0 120px;
    height: 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}
.maestro-cari-sync-bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #5c9ded, #7ad67a);
    transition: width 0.2s ease;
}
.maestro-hareketler-cari-bar-fill {
    background: linear-gradient(90deg, #4caf7a, #8fd4a8);
}
.maestro-archive-part-stamp-bar-fill {
    background: linear-gradient(90deg, #9c6d3d, #c4a06a);
}
.maestro-third-party-courier-backfill-bar-fill {
    background: linear-gradient(90deg, #2f6fed, #6aa3ff);
}
.theme-dark .maestro-cari-sync-bar {
    background: linear-gradient(180deg, rgba(18, 22, 30, 0.96) 0%, rgba(10, 12, 18, 0.98) 100%);
}
.maestro-backup-bar-fill {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* Müşteri hub: başlık — tarih filtresi — kapat (layout ekleri; mevcut hub stillerini ezmez) */
.customer-hub-header-top--with-period {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    flex-wrap: nowrap;
}
.customer-hub-header-top--with-period .customer-hub-title {
    flex: 1 1 0;
    min-width: 6rem;
}
.customer-hub-period-inline {
    flex: 0 1 auto;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.customer-hub-period-inline .customer-hub-kasa-period.kasa-period-row {
    margin-bottom: 0;
}
.customer-hub-header-top--with-period .customer-hub-close {
    align-self: center;
    flex-shrink: 0;
}
.customer-hub-movements-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-shrink: 0;
    padding: 0.45rem 0.75rem;
    border-top: 1px solid var(--border-color);
    background: var(--card-bg);
}
.customer-hub-movements-pager-info {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

/* Ürünler: düşük stok uyarı ikonu + stok eşiği formları + reçete tek satır + fiyat önerisi listesi */
.products-admin-stock-warn-icon {
    color: #ea580c;
    font-size: 1rem;
    flex-shrink: 0;
}
.form-hint-muted {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text-muted, #64748b);
}
.recipe-optimum-panel {
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid var(--border-color, #e2e8f0);
    max-width: 100%;
    box-sizing: border-box;
}
.recipe-optimum-panel--sidebar {
    margin-top: 8px;
    padding: 8px 10px;
}
.recipe-optimum-panel-title {
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 6px;
    color: var(--text-primary, #1e293b);
}
.recipe-optimum-panel-lead {
    margin: 0 0 12px;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--text-secondary, #475569);
}
.recipe-optimum-panel-lead--tight {
    margin-bottom: 8px;
    font-size: 0.78rem;
}
/* Öneriler: kart yerine dikey liste — dar yan panelde taşmaz */
.recipe-optimum-rows {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    overflow: hidden;
    background: var(--card-bg, #fff);
}
.recipe-optimum-row {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.recipe-optimum-row:last-child {
    border-bottom: none;
}
.recipe-optimum-row-main {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    font-size: 0.8rem;
    line-height: 1.3;
}
.recipe-optimum-apply-btn {
    margin-left: auto;
    flex-shrink: 0;
    font-size: 0.72rem;
    padding: 2px 8px;
}
.recipe-optimum-row-label {
    font-weight: 700;
    color: var(--text-secondary, #475569);
    min-width: 5.25rem;
    flex-shrink: 0;
}
.recipe-optimum-row-price {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #0f766e;
    font-size: 0.98rem;
}
.recipe-optimum-row-marg {
    font-size: 0.72rem;
    color: var(--text-muted);
}
.recipe-optimum-row-note {
    margin-top: 4px;
    font-size: 0.72rem;
    line-height: 1.35;
    color: var(--text-primary);
    word-break: break-word;
}
/* Reçete satırı: isim + miktar + birim + fiyat tek satır; Fire % details ile açılır (açıkken alt bant) */
.recipe-line-wrap {
    margin-bottom: 8px;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 8px;
    background: var(--card-bg, #fff);
    overflow: visible;
}
.recipe-line-wrap--sub {
    background: rgba(99, 102, 241, 0.05);
}
.recipe-line-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 8px 10px;
}
.recipe-line-name {
    flex: 1 1 140px;
    min-width: 100px;
    font-weight: 600;
    font-size: 0.86rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recipe-line-qty {
    width: 4.5rem;
    min-width: 3.75rem;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.88rem;
    box-sizing: border-box;
}
.recipe-line-birim {
    width: 5.5rem;
    min-width: 4.75rem;
    padding: 5px 6px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.8rem;
    box-sizing: border-box;
}
.recipe-line-price {
    width: 5.25rem;
    min-width: 4.5rem;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.88rem;
    box-sizing: border-box;
}
.recipe-line-price-ph {
    width: 5.25rem;
    min-width: 4.5rem;
    padding: 6px 8px;
    text-align: center;
    font-size: 0.8rem;
    color: var(--text-muted);
    background: rgba(15, 23, 42, 0.04);
    border-radius: 6px;
    border: 1px dashed var(--border-color);
    box-sizing: border-box;
}
.recipe-line-total {
    flex: 0 0 auto;
    min-width: 5.25rem;
    padding: 6px 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--primary, #2563eb);
    text-align: right;
    white-space: nowrap;
    background: rgba(37, 99, 235, 0.06);
    border-radius: 6px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    box-sizing: border-box;
}
.recipe-line-total--muted {
    color: var(--text-muted, #94a3b8);
    font-weight: 500;
    background: rgba(15, 23, 42, 0.03);
    border-color: transparent;
}
.recipe-modal-lines-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 0 10px 8px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #64748b);
}
.recipe-modal-lines-head-badge {
    flex: 0 0 2.5rem;
}
.recipe-modal-lines-head-name {
    flex: 1 1 140px;
    min-width: 100px;
}
.recipe-modal-lines-head-qty {
    width: 4.5rem;
    min-width: 3.75rem;
    text-align: center;
}
.recipe-modal-lines-head-birim {
    width: 5.5rem;
    min-width: 4.75rem;
}
.recipe-modal-lines-head-price {
    width: 5.25rem;
    min-width: 4.5rem;
    text-align: center;
}
.recipe-modal-lines-head-fire {
    width: calc(4.5rem + 3.5rem + 8px);
    min-width: 7rem;
    text-align: center;
}
.recipe-modal-lines-head-total {
    min-width: 5.25rem;
    text-align: right;
}
.recipe-modal-lines-head-del {
    flex: 0 0 2rem;
}
.recipe-line-fire-inline-label {
    font-size: 0.74rem;
    color: var(--text-secondary);
    white-space: nowrap;
}
.recipe-line-fire-inline-input {
    width: 4.5rem;
    min-width: 3.75rem;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 0.84rem;
    box-sizing: border-box;
}
.recipe-line-fire-below {
    font-size: 0.74rem;
    color: var(--text-secondary);
    padding: 0 10px 6px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.recipe-line-fire-below summary {
    cursor: pointer;
    font-weight: 600;
    list-style: none;
    user-select: none;
    padding: 4px 0 2px;
}
.recipe-line-fire-below summary::-webkit-details-marker {
    display: none;
}
.recipe-line-fire-below[open] {
    padding-bottom: 8px;
    background: rgba(15, 23, 42, 0.03);
}
.recipe-line-fire-input {
    display: block;
    margin-top: 6px;
    width: 5.5rem;
    max-width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    box-sizing: border-box;
}
.recipe-line-del {
    flex-shrink: 0;
}

/* Kasa > Oyun oturumları raporu */
.reports-play-sessions-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.reports-play-sessions-page-size-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #64748b);
    margin: 0;
}
.reports-play-sessions-page-size {
    min-width: 4.5rem;
    max-width: 5.5rem;
}
.reports-play-sessions {
    margin-top: 0.35rem;
}
.reports-play-sessions-kpis {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.85rem !important;
}
@media (max-width: 1100px) {
    .reports-play-sessions-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 560px) {
    .reports-play-sessions-kpis {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
.reports-play-sessions-kpi {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    text-align: left;
    min-height: 5.5rem;
}
.reports-play-sessions-kpi-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1rem;
}
.reports-play-sessions-kpi-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.reports-play-sessions-kpi--violet .reports-play-sessions-kpi-icon { background: rgba(99, 102, 241, 0.15); color: #4f46e5; }
.reports-play-sessions-kpi--teal .reports-play-sessions-kpi-icon { background: rgba(20, 184, 166, 0.15); color: #0d9488; }
.reports-play-sessions-kpi--amber .reports-play-sessions-kpi-icon { background: rgba(245, 158, 11, 0.18); color: #d97706; }
.reports-play-sessions-kpi--rose .reports-play-sessions-kpi-icon { background: rgba(244, 63, 94, 0.15); color: #e11d48; }
.reports-play-sessions-kpi--indigo .reports-play-sessions-kpi-icon { background: rgba(99, 102, 241, 0.12); color: #6366f1; }
.reports-play-sessions-kpi--red .reports-play-sessions-kpi-icon { background: rgba(239, 68, 68, 0.15); color: #dc2626; }
.reports-play-sessions-charts {
    margin-top: 0.75rem;
    margin-bottom: 1.35rem;
}
.reports-play-sessions-agg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
@media (max-width: 1100px) {
    .reports-play-sessions-agg-grid {
        grid-template-columns: 1fr;
    }
}
.reports-play-sessions-children-cell {
    max-width: 14rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reports-play-sessions-detail {
    margin-top: 0.35rem;
    padding-top: 0.5rem;
}
.reports-play-sessions-table-wrap {
    overflow-x: auto;
}
.reports-play-sessions-table th,
.reports-play-sessions-table td {
    white-space: nowrap;
}
.reports-play-sessions-kind {
    font-weight: 700;
    font-size: 0.82rem;
}
.reports-play-sessions-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.5rem 0;
}
.reports-play-sessions-pagination-info {
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    font-size: 0.9rem;
}

/* ============================================
   Genel form odak rengi (tüm sayfalar)
   Önceki kurallarda var(--primary) / gri odak — tek tip: var(--success)
   Dosya sonunda !important ile bileşen özgül kuralları geçersiz kılınır.
   ============================================ */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="hidden"]):focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="hidden"]):focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible,
.form-control:focus,
.form-control:focus-visible,
[contenteditable="true"]:focus {
    outline: none !important;
    border-color: var(--success) !important;
    box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.38) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--success) 38%, transparent) !important;
}
.price-lookup-search:focus,
.price-lookup-search:focus-visible {
    border-color: transparent !important;
    box-shadow: none !important;
}
.iwqp-search-input:focus,
.iwqp-search-input:focus-visible {
    outline: none !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.iwqp-search-wrap:focus-within {
    border-color: var(--success, #66BB6A) !important;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.32) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--success) 38%, transparent) !important;
}
.form-control.iw-input-invalid,
.iw-input-invalid,
.form-control.iw-input-invalid:focus,
.form-control.iw-input-invalid:focus-visible,
.iw-input-invalid:focus,
.iw-input-invalid:focus-visible {
    border-color: #ef5350 !important;
    box-shadow: 0 0 0 2px rgba(239, 83, 80, 0.35) !important;
}

/* Otel Oda Tanımları (ayarlar): iki sütun — katlar | odalar */
.settings-hotel-rooms-layout.settings-masa-two-col {
    align-items: stretch;
}
.settings-hotel-rooms-layout.settings-masa-two-col .settings-column-groups {
    flex: 0 0 min(280px, 34%);
}
.settings-hotel-col-floors {
    min-width: 0;
}
.settings-hotel-rooms-layout .settings-hotel-col-floors > .settings-groups-list {
    flex: 1;
    min-height: 0;
}

/* ========== Faturalar Sayfası ========== */
.invoices-keep-alive-slot {
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    min-width: 0;
    min-height: 0;
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.invoices-keep-alive-slot.is-active {
    flex: 1;
    width: auto;
    max-width: none;
    min-width: 0;
    max-height: none;
    min-height: 0;
}
.invoices-page {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--light-gray);
    padding: 1rem 1.25rem;
    gap: 0.75rem;
}
.invoices-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.invoices-page-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-primary, #1e293b);
}
.invoices-page-sub {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: var(--text-secondary, #64748b);
}
.invoices-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem 1rem;
    padding: 0.75rem 1rem;
    background: var(--white, #fff);
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}
.invoices-filters-period {
    padding: 0.55rem 0.75rem 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.invoices-filters-period .kasa-period-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.65rem 1rem;
    width: 100%;
    padding-bottom: 0.55rem;
}
.invoices-filters-extra {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    flex: 1 1 auto;
    min-width: 0;
}
.invoices-filter-control {
    box-sizing: border-box;
    height: 2.25rem;
    min-height: 2.25rem;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2;
    margin: 0;
}
.invoices-filters-extra .filter-select.invoices-filter-control {
    min-width: 7.5rem;
    width: auto;
}
.invoices-filter-search {
    flex: 1 1 12rem;
    min-width: 10rem;
    max-width: 18rem;
}
.invoices-filters-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 1rem;
    padding: 0.4rem 0.15rem 0.5rem;
    margin: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 0.78rem;
    color: var(--text-secondary, #64748b);
}
.invoices-check--sm {
    font-size: 0.78rem;
    gap: 0.4rem;
}
.invoices-check--sm .app-switch,
.invoices-check--sm .app-switch--mini {
    flex-shrink: 0;
}
.theme-dark .invoices-filters-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
}
.invoices-filter--ettn-inline {
    margin-left: auto;
    flex: 1 1 10rem;
    min-width: 8rem;
    max-width: 16rem;
}
.invoices-ettn-inline {
    width: 100%;
    height: 1.85rem;
    min-height: 1.85rem;
    font-size: 0.75rem;
    padding: 0 0.5rem !important;
}
.invoices-filter--inline {
    min-width: 0;
}
.invoices-page-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.invoices-new-sales-btn {
    white-space: nowrap;
}
.invoices-sales-modal {
    width: min(28rem, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}
.invoices-sales-modal-hint {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    color: var(--text-secondary, #64748b);
}
.invoices-sales-modal-loading {
    padding: 0.75rem 0;
    text-align: center;
    color: var(--text-secondary, #64748b);
    font-size: 0.875rem;
}
.invoices-sales-modal-empty {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: var(--text-secondary, #64748b);
}
.invoices-sales-modal-empty--action {
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.03);
    border: 1px dashed rgba(15, 23, 42, 0.12);
}
.invoices-sales-modal-empty--action p { margin: 0 0 0.45rem; }
.invoices-sales-cari-input-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.invoices-sales-cari-input-row .filter-input {
    flex: 1 1 auto;
    min-width: 0;
}
.invoices-sales-cari-input-row .btn-quick-cari {
    flex-shrink: 0;
    white-space: nowrap;
}
.invoices-sales-customer-list {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    max-height: 14rem;
    overflow: auto;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
}
.invoices-sales-customer-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: var(--text-primary, #1e293b);
    transition: background 0.12s;
}
.invoices-sales-customer-item:last-child { border-bottom: none; }
.invoices-sales-customer-item:hover,
.invoices-sales-customer-item.active {
    background: rgba(99, 102, 241, 0.08);
}
.invoices-sales-customer-name {
    font-weight: 600;
    font-size: 0.875rem;
}
.invoices-sales-customer-meta {
    font-size: 0.75rem;
    color: var(--text-secondary, #64748b);
}
.invoices-quick-filter-wrap {
    position: relative;
}
.invoices-filter {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: var(--text-secondary, #64748b);
}
.invoices-filter input,
.invoices-filter select {
    min-width: 9rem;
    padding: 0.4rem 0.55rem;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 0.875rem;
}
.invoices-filter--search input {
    min-width: 14rem;
}
.invoices-error {
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    font-size: 0.875rem;
}
.invoices-table-wrap {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: var(--white, #fff);
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}
.invoices-loading {
    padding: 2rem;
    text-align: center;
    color: var(--text-secondary, #64748b);
}
.invoices-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}
.invoices-table th,
.invoices-table td {
    padding: 0.55rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    vertical-align: top;
}
.invoices-table th {
    position: sticky;
    top: 0;
    background: var(--white, #fff);
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--text-secondary, #64748b);
    z-index: 1;
}
.invoices-table tbody tr:hover {
    background: rgba(0, 0, 0, 0.02);
}
.invoices-empty {
    text-align: center;
    color: var(--text-secondary, #64748b);
    padding: 2rem !important;
}
.invoices-mono {
    font-family: ui-monospace, monospace;
    font-size: 0.82rem;
}
.invoices-amount {
    font-weight: 600;
    white-space: nowrap;
}
.invoices-counterparty {
    font-weight: 500;
}
.invoices-vkn {
    font-size: 0.75rem;
    color: var(--text-secondary, #64748b);
}
.invoices-badge {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}
.invoices-badge--in {
    background: rgba(59, 130, 246, 0.12);
    color: #1d4ed8;
}
.invoices-badge--out {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}
.invoices-source {
    display: inline-block;
    padding: 0.12rem 0.4rem;
    border-radius: 4px;
    font-size: 0.72rem;
    background: rgba(100, 116, 139, 0.1);
}
.invoices-source--edm {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
}
.invoices-source--local {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}
.invoices-status {
    font-size: 0.78rem;
}
.invoices-status--ok {
    color: #047857;
    font-weight: 600;
}
.invoices-status--pending {
    color: #b45309;
}
.invoices-actions {
    white-space: nowrap;
    text-align: right;
}
.invoices-download-btn:disabled {
    opacity: 0.65;
    cursor: wait;
}
.invoices-footer {
    font-size: 0.8rem;
    color: var(--text-secondary, #64748b);
}
.invoices-sync-panel {
    padding: 0.65rem 1rem;
    background: var(--white, #fff);
    border-radius: 10px;
    border: 1px solid rgba(59, 130, 246, 0.2);
}
.invoices-sync-progress-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary, #1e293b);
}
.invoices-sync-progress-track {
    margin-top: 0.45rem;
    height: 6px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.invoices-sync-progress-fill {
    height: 100%;
    border-radius: 6px;
    background: linear-gradient(90deg, #3b82f6, #10b981);
    transition: width 0.25s ease;
    min-width: 4%;
}
.invoices-sync-stats {
    display: flex;
    gap: 1rem;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    color: var(--text-secondary, #64748b);
}
.invoices-sync-hint,
.invoices-help,
.invoices-last-sync {
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    color: var(--text-secondary, #64748b);
}
.invoices-sync-options {
    display: none;
}
.invoices-check {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    cursor: pointer;
    user-select: none;
}
.invoices-check .app-switch {
    flex-shrink: 0;
}
.invoices-filter--compact input {
    min-width: 4rem;
    max-width: 5rem;
}
.maestro-edm-sync-bar { bottom: 0; }
.maestro-edm-sync-bar-fill { background: linear-gradient(90deg, #6366f1, #22c55e); }
.pos-app--view-settings-open .maestro-edm-sync-bar,
.pos-app--view-settings-open .maestro-cari-sync-bar { z-index: 12040; }

/* Müşteri sadakat rozeti — renkli fa-award ikonu (çerçevesiz) */
.customer-loyalty-badge--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    line-height: 1;
    background: none;
    border: none;
    box-shadow: none;
    width: auto;
    height: auto;
    cursor: default;
}
.customer-loyalty-badge--icon i {
    font-size: 1.05rem;
    line-height: 1;
    pointer-events: none;
}
.customer-loyalty-badge--yeni { color: #94a3b8; }
.customer-loyalty-badge--bronz { color: #ea580c; }
.customer-loyalty-badge--gumus { color: #64748b; }
.customer-loyalty-badge--altin { color: #d97706; }
.customer-loyalty-badge--platin { color: #6366f1; }
.customer-hub-title {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
    min-width: 0;
}
.customer-hub-title-text {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.customer-hub-loyalty {
    display: inline-flex;
    vertical-align: middle;
    flex-shrink: 0;
}
.customer-hub-loyalty--clickable {
    cursor: pointer;
    transition: transform 0.12s ease, opacity 0.12s ease;
}
.customer-hub-loyalty--clickable:hover,
.customer-hub-loyalty--clickable:focus-visible {
    transform: scale(1.12);
    opacity: 0.88;
    outline: none;
}
.customer-hub-loyalty--clickable:active {
    transform: scale(1);
}
.customer-hub-loyalty--clickable .customer-loyalty-badge--icon {
    cursor: pointer;
}
.modal-container--loyalty-tx {
    width: min(92vw, 28rem);
    max-height: min(78vh, 34rem);
    display: flex;
    flex-direction: column;
}
.modal-header--loyalty-tx {
    align-items: flex-start;
    gap: 0.75rem;
}
.loyalty-tx-modal-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    flex: 1;
}
.loyalty-tx-modal-head-text {
    min-width: 0;
}
.loyalty-tx-modal-head-text .modal-title {
    margin: 0;
    font-size: 1rem;
}
.loyalty-tx-modal-sub {
    margin: 0.15rem 0 0;
    font-size: 0.78rem;
    color: var(--text-secondary, #64748b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.loyalty-tx-modal-body {
    padding-top: 0.35rem;
    overflow: auto;
    flex: 1;
    min-height: 0;
}
.loyalty-tx-modal-loading,
.loyalty-tx-modal-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--text-secondary, #64748b);
    text-align: center;
}
.loyalty-tx-modal-empty i {
    font-size: 1.5rem;
    opacity: 0.45;
}
.loyalty-tx-modal-empty p { margin: 0; font-size: 0.88rem; }
.loyalty-tx-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.loyalty-tx-item {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    background: var(--surface-secondary, #f8fafc);
}
.loyalty-tx-item-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}
.loyalty-tx-item-type {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
}
.loyalty-tx-item-date {
    font-size: 0.72rem;
    color: var(--text-secondary, #64748b);
    white-space: nowrap;
}
.loyalty-tx-item-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}
.loyalty-tx-item-points {
    font-size: 0.95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.loyalty-tx-item-points.is-plus { color: #15803d; }
.loyalty-tx-item-points.is-minus { color: #b91c1c; }
.loyalty-tx-item-balance {
    font-size: 0.72rem;
    color: var(--text-secondary, #64748b);
}
.loyalty-tx-item-meta {
    margin-top: 0.3rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.72rem;
    color: var(--text-secondary, #64748b);
}
.loyalty-tx-item-doc {
    font-weight: 600;
    color: var(--text-primary, #334155);
}
.customers-table td.col-loyalty .customer-loyalty-badge {
    margin: 0 auto;
}
.legacy-migration-progress-fill--loyalty {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}
.legacy-migration-card-icon--loyalty {
    color: #d97706;
}
/* ========== Personel İK (HrPage) ========== */
.hr-page {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 0;
    height: 100%;
}
.hr-shell {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 0;
    flex: 1;
}
.hr-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    gap: 0;
    padding: 0.3rem;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.theme-dark .hr-toolbar { background: var(--card-bg, #2a2a2a); }
.hr-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.2rem;
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
}
.hr-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    gap: 0.3rem;
    padding: 0.48rem 0.28rem;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.hr-tab span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hr-tab i { font-size: 0.78rem; opacity: 0.85; }
.hr-tab:hover {
    background: var(--light-gray, #f5f5f5);
    color: var(--text-primary, #222);
}
.theme-dark .hr-tab:hover { background: rgba(255,255,255,0.06); }
.hr-tab.is-active {
    background: color-mix(in srgb, var(--nav-bg, var(--primary)) 12%, #fff);
    border-color: color-mix(in srgb, var(--nav-bg, var(--primary)) 32%, transparent);
    color: var(--nav-bg, var(--primary));
}
.theme-dark .hr-tab.is-active {
    background: rgba(255,255,255,0.08);
    color: var(--primary);
}
.hr-error {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.35rem 0.55rem;
}
.hr-body { min-height: 0; flex: 1; display: flex; flex-direction: column; gap: 0.55rem; }
.hr-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 2.5rem 1rem;
    color: var(--text-secondary);
}
.hr-panel-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 0.85rem;
    padding: 0.65rem 0.75rem;
    background: var(--white, #fff);
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 12px;
}
.theme-dark .hr-panel-bar { background: var(--card-bg, #2a2a2a); }
.hr-panel-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem;
}
.hr-btn-primary-action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    border-radius: 9px;
    padding: 0.45rem 0.85rem;
}
.hr-btn-icon-only {
    width: 2.15rem;
    height: 2.15rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}
.hr-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.45rem;
}
.hr-field {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 130px;
}
.hr-field--sm { min-width: 88px; max-width: 100px; }
.hr-field--month { min-width: 148px; max-width: 180px; }
.hr-field--year { min-width: 108px; max-width: 140px; }
.hr-field label {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}
.hr-input,
.hr-page .form-control.hr-input,
.hr-modal .form-control,
.hr-modal select.form-control,
.hr-modal input.form-control {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.42rem 0.6rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 8px;
    font-size: 0.82rem;
    font-family: inherit;
    background: var(--card-bg, var(--white, #fff));
    color: var(--text-primary, #111);
    transition: border-color 0.15s, box-shadow 0.15s;
}
.hr-input:focus,
.hr-page .form-control.hr-input:focus,
.hr-modal .form-control:focus {
    outline: none;
    border-color: var(--primary, #242424);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #242424) 18%, transparent);
}
.hr-search-wrap {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 380px;
}
.hr-search-wrap > i {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary, #94a3b8);
    font-size: 0.8rem;
    pointer-events: none;
}
.hr-search-wrap .hr-input {
    padding-left: 2.15rem;
    height: 2.15rem;
    border-radius: 9px;
}
.hr-table-wrap {
    background: var(--white, #fff);
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 12px;
    overflow: auto;
    flex: 1;
    min-height: 0;
}
.theme-dark .hr-table-wrap { background: var(--card-bg, #2a2a2a); }
.hr-puantaj-wrap { overflow: auto; flex: 1; min-height: 0; }
.hr-puantaj-table { border-collapse: separate; border-spacing: 0; min-width: 100%; font-size: 0.72rem; }
.hr-puantaj-table th, .hr-puantaj-table td {
    border: 1px solid var(--border-color, #e5e7eb);
    padding: 0.2rem 0.15rem;
    text-align: center;
    min-width: 1.7rem;
}
.hr-puantaj-table th.hr-puantaj-name, .hr-puantaj-table td.hr-puantaj-name {
    position: sticky; left: 0; z-index: 2;
    text-align: left; min-width: 9rem; padding: 0.35rem 0.5rem;
    background: var(--white, #fff); font-weight: 600;
}
.theme-dark .hr-puantaj-table th.hr-puantaj-name,
.theme-dark .hr-puantaj-table td.hr-puantaj-name { background: var(--card-bg, #2a2a2a); }
.hr-puantaj-table thead th { position: sticky; top: 0; z-index: 3; background: var(--white, #fff); }
.hr-puantaj-table thead th.hr-puantaj-name { z-index: 4; }
.hr-pcell { display: block; width: 100%; min-height: 1.55rem; border: 0; background: transparent; cursor: pointer; font-size: 0.65rem; font-weight: 700; border-radius: 4px; }
.hr-pcell.is-calisti { background: #dcfce7; color: #166534; }
.hr-pcell.is-hafta_tatili { background: #e0e7ff; color: #3730a3; }
.hr-pcell.is-gelmedi { background: #fee2e2; color: #991b1b; }
.hr-pcell.is-ucretli_izin { background: #fef9c3; color: #854d0e; }
.hr-pcell.is-ucretsiz_izin, .hr-pcell.is-rapor { background: #ffedd5; color: #9a3412; }
.hr-pcell.is-bos { background: transparent; color: #94a3b8; }
.hr-pcell:disabled { cursor: default; opacity: 0.85; }
.hr-salary-helper { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; padding: 0.65rem; border: 1px dashed var(--border-color, #d1d5db); border-radius: 10px; background: color-mix(in srgb, var(--primary, #242424) 4%, transparent); }
.hr-salary-helper .hr-form-span2 { grid-column: 1 / -1; }
.hr-puantaj-table th.is-weekend { color: #b45309; }
.hr-view-toggle { display: inline-flex; gap: 0.25rem; }
.hr-dot--worked { background: #16a34a; }
.hr-dot--off { background: #6366f1; }
.hr-gun-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.hr-table--payroll { font-size: 0.78rem; }
.hr-table--payroll th, .hr-table--payroll td { white-space: nowrap; }
.hr-table { margin: 0; width: 100%; border-collapse: collapse; border-spacing: 0; }
.hr-table th,
.hr-table td {
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.hr-table thead th {
    border-bottom-width: 1px;
    border-bottom-color: var(--border-color, #d0d5dd);
}
.hr-table tbody tr:last-child td { border-bottom: none; }
.theme-dark .hr-table th,
.theme-dark .hr-table td {
    border-bottom-color: rgba(255,255,255,0.1);
}
.hr-table th {
    white-space: nowrap;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-weight: 700;
}
.hr-table--staff th,
.hr-table--staff td {
    vertical-align: middle;
    padding: 0.72rem 0.85rem;
}
.hr-table--staff tbody tr {
    transition: background-color 0.12s ease;
}
.hr-table--staff tbody tr:hover td {
    background: color-mix(in srgb, var(--primary, #e0143a) 4%, transparent);
}
.hr-staff-row { cursor: pointer; }
.hr-staff-row.is-selected td {
    background: color-mix(in srgb, var(--primary, #e0143a) 10%, transparent);
}
.hr-ledger {
    margin-top: 0.85rem;
    padding: 0.85rem;
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 10px;
    background: var(--white, #fff);
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}
.theme-dark .hr-ledger { background: var(--card-bg, #2a2a2a); }
.hr-ledger-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.hr-ledger-kpis { flex-wrap: wrap; }
.hr-kpi--ok strong { color: var(--success, #15803d); }
.hr-ledger-hint { margin-top: 0.75rem; }
.hr-period-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
    padding: 0.2rem 0 0.6rem;
}
.hr-period-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    text-align: left;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border-color, rgba(0,0,0,0.1));
    border-radius: 10px;
    background: var(--white, #fff);
    cursor: pointer;
    color: inherit;
}
.theme-dark .hr-period-card { background: var(--card-bg, #2a2a2a); }
.hr-period-card:hover {
    border-color: color-mix(in srgb, var(--primary, #e0143a) 45%, transparent);
}
.hr-period-card-top {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 0.4rem;
}
.hr-period-card-meta, .hr-period-card-split {
    font-size: 0.78rem;
    color: var(--text-secondary, #666);
    display: flex;
    gap: 0.75rem;
}
.hr-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hr-actions-col {
    width: 1%;
    min-width: 7.5rem;
    text-align: right;
    white-space: nowrap;
    padding-right: 0.9rem !important;
}
.hr-row-actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}
.hr-person-cell { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.hr-person-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
    line-height: 1.25;
}
.hr-person-card {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.hr-title-cell {
    color: var(--text-secondary, #64748b);
    font-size: 0.84rem;
}
.hr-salary-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.12rem;
    line-height: 1.25;
}
.hr-salary-amount {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--text-primary, #0f172a);
}
.hr-salary-mode {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}
.hr-salary-split {
    font-size: 0.68rem;
    color: var(--text-secondary, #94a3b8);
}
.hr-insurance-cell {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.28rem;
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
    color: var(--text-secondary, #64748b);
    white-space: nowrap;
}
.hr-insurance-sep {
    opacity: 0.45;
    font-weight: 600;
}
.hr-leave-cell {
    font-weight: 600;
    color: var(--text-primary, #334155);
}
.hr-muted { color: var(--text-secondary, #64748b); font-size: 0.75rem; }
.hr-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.05rem;
    height: 2.05rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 9px;
    background: var(--white, #fff);
    color: var(--text-secondary, #475569);
    cursor: pointer;
    transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
    box-shadow: 0 1px 1px rgba(15, 23, 42, 0.04);
}
.theme-dark .hr-icon-btn { background: rgba(255,255,255,0.04); }
.hr-icon-btn i { font-size: 0.78rem; line-height: 1; }
.hr-icon-btn:hover {
    border-color: color-mix(in srgb, var(--primary, #e0143a) 55%, #ccc);
    color: var(--primary, #e0143a);
    background: color-mix(in srgb, var(--primary, #e0143a) 8%, #fff);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}
.hr-icon-btn--ok {
    color: var(--success, #2e7d32);
    border-color: color-mix(in srgb, var(--success, #2e7d32) 35%, #e2e8f0);
    background: color-mix(in srgb, var(--success, #2e7d32) 8%, #fff);
}
.hr-icon-btn--ok:hover {
    border-color: var(--success, #2e7d32);
    color: #fff;
    background: var(--success, #2e7d32);
}
.hr-icon-btn--danger:hover { border-color: #c62828; color: #c62828; }
.hr-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #334155;
    letter-spacing: 0.01em;
}
.hr-badge--ok { background: #e8f5e9; color: #1b5e20; }
.hr-badge--warn { background: #fff8e1; color: #e65100; }
.hr-badge--info { background: #e3f2fd; color: #1565c0; }
.hr-badge--muted { background: #f1f5f9; color: #64748b; }
.hr-kpi-row { display: flex; gap: 0.45rem; flex-wrap: wrap; }
.hr-kpi {
    min-width: 5.5rem;
    padding: 0.4rem 0.65rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid var(--border-color, #e2e8f0);
    display: flex;
    flex-direction: column;
}
.hr-kpi span { font-size: 0.65rem; color: var(--text-secondary); font-weight: 600; }
.hr-kpi strong { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.hr-kpi--warn { background: #fff8e1; border-color: #ffe082; }
.hr-live-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.55rem;
}
.hr-live-card {
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    padding: 0.7rem 0.75rem;
    background: var(--white, #fff);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.theme-dark .hr-live-card { background: var(--card-bg); }
.hr-live-card:hover {
    background: color-mix(in srgb, var(--primary, #e0143a) 4%, transparent);
}
.hr-live-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
}
.hr-live-card-meta { font-size: 0.75rem; color: var(--text-secondary); }
.hr-live-card-actions { margin-top: 0.2rem; }
.hr-empty-block {
    grid-column: 1 / -1;
    text-align: center;
    padding: 1.5rem;
    color: var(--text-secondary);
}
.hr-empty-block--sm { padding: 0.75rem; font-size: 0.8rem; }

/* İzin takvimi */
.hr-leaves-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.9fr);
    gap: 0.65rem;
    min-height: 0;
}
@media (max-width: 960px) {
    .hr-leaves-layout { grid-template-columns: 1fr; }
}
.hr-cal-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.hr-cal-title {
    min-width: 10rem;
    text-align: center;
    font-size: 0.95rem;
    text-transform: capitalize;
}
.hr-legend {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: var(--text-secondary);
    margin-right: 0.35rem;
}
.hr-dot {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    margin-left: 0.35rem;
}
.hr-dot--paid { background: #2e7d32; }
.hr-dot--unpaid { background: #c62828; }
.hr-dot--sick { background: #1565c0; }
.hr-calendar {
    background: var(--white, #fff);
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 10px;
    padding: 0.55rem;
}
.theme-dark .hr-calendar { background: var(--card-bg); }
.hr-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
    margin-bottom: 0.25rem;
}
.hr-cal-weekdays span {
    text-align: center;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--text-secondary);
    padding: 0.2rem 0;
}
.hr-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
}
.hr-cal-cell {
    min-height: 4.6rem;
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    background: var(--surface-secondary, #fafafa);
    padding: 0.28rem;
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    transition: border-color 0.12s, background 0.12s;
}
.hr-cal-cell:hover:not(:disabled) {
    border-color: var(--primary);
    background: #fff;
}
.hr-cal-cell.is-empty {
    background: transparent;
    border-color: transparent;
    cursor: default;
    min-height: 4.6rem;
}
.hr-cal-cell.is-today {
    border-color: var(--nav-bg, var(--primary));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nav-bg, var(--primary)) 40%, transparent);
}
.hr-cal-cell.has-leave { background: #fff; }
.hr-cal-day {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-primary);
}
.hr-cal-leaves {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-height: 0;
    overflow: hidden;
}
.hr-leave-chip {
    display: block;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 0.12rem 0.28rem;
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hr-leave-chip--paid { background: #e8f5e9; color: #1b5e20; }
.hr-leave-chip--unpaid { background: #ffebee; color: #b71c1c; }
.hr-leave-chip--sick { background: #e3f2fd; color: #0d47a1; }
.hr-leave-more { font-size: 0.62rem; color: var(--text-secondary); font-weight: 600; }
.hr-leaves-side {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 0;
}
.hr-side-card {
    background: var(--white, #fff);
    border: 1px solid var(--border-color, rgba(0,0,0,0.08));
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    min-height: 0;
}
.theme-dark .hr-side-card { background: var(--card-bg); }
.hr-side-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
    font-size: 0.85rem;
}
.hr-side-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-height: 280px;
    overflow: auto;
}
.hr-side-list li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.5rem 0.35rem;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    background: transparent;
}
.hr-side-list li:last-child { border-bottom: none; }
.hr-side-list li > div {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}
.hr-side-add { width: 100%; margin-top: 0.45rem; }

/* Modal form */
.hr-modal { max-width: 560px; width: calc(100% - 1.5rem); }
.hr-modal--sm { max-width: 480px; }
.modal-content.hr-modal.hr-modal--sm {
    overflow: visible;
    max-height: none;
}
.modal-content.hr-modal.hr-modal--sm > .modal-body {
    overflow: visible;
}
.hr-modal.hr-modal--sm .modal-footer {
    position: relative;
    z-index: 1;
}
.hr-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem 0.65rem;
}
.hr-form-span2 { grid-column: 1 / -1; }
.hr-salary-simple {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.55rem 0.65rem;
}
.hr-modal .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
}
.hr-modal .form-group label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}
.hr-check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    margin-top: 0.35rem;
    cursor: pointer;
}
@media (max-width: 560px) {
    .hr-form-grid,
    .hr-salary-simple { grid-template-columns: 1fr; }
    .hr-tab span { display: none; }
    .hr-tab { padding: 0.45rem 0.55rem; }
}

.hr-salary-modes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem;
}
.hr-mode-card {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    cursor: pointer;
    background: var(--surface-secondary, #f8fafc);
}
.hr-mode-card input { margin-top: 0.15rem; }
.hr-mode-card span { display: flex; flex-direction: column; gap: 0.1rem; }
.hr-mode-card strong { font-size: 0.84rem; }
.hr-mode-card small { font-size: 0.72rem; color: var(--text-secondary, #64748b); font-weight: 500; }
.hr-mode-card.is-on {
    border-color: var(--success, #4CAF50);
    background: color-mix(in srgb, var(--success, #4CAF50) 14%, #fff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--success, #4CAF50) 35%, transparent);
}
.hr-mode-card.is-on strong { color: var(--success-hover, #2e7d32); }
.hr-mode-card.is-on small { color: color-mix(in srgb, var(--success, #4CAF50) 55%, #64748b); }

.hr-pay-layout {
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr;
    gap: 1rem;
    align-items: start;
}
.hr-pay-workspace {
    display: grid;
    grid-template-columns: minmax(200px, 260px) 1fr;
    gap: 1rem;
    min-height: 0;
    flex: 1;
    align-items: stretch;
}
.hr-pay-aside {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-height: 0;
    overflow: auto;
    padding: 0.65rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    background: var(--card-bg, #fff);
}
.hr-pay-person {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0.5rem 0.6rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.hr-pay-person strong { font-size: 0.86rem; color: var(--text-primary, #0f172a); }
.hr-pay-person .hr-pay-amt,
.hr-pay-person span.hr-pay-amt {
    font-size: 0.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--primary, #e0143a);
}
.hr-pay-person small { font-size: 0.68rem; color: color-mix(in srgb, var(--primary, #e0143a) 72%, #64748b); }
.hr-pay-person.is-on {
    background: color-mix(in srgb, var(--primary, #e0143a) 10%, transparent);
    border-color: color-mix(in srgb, var(--primary, #e0143a) 35%, transparent);
}
.hr-pay-main {
    min-width: 0;
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    background: var(--card-bg, #fff);
}
.hr-body > .hr-pay-workspace { flex: 1; min-height: 0; }
.hr-detail-bar {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}
.hr-detail-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}
.hr-detail-close { margin-left: 0; }
.hr-detail-who {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    min-width: 0;
    flex: 1 1 auto;
    line-height: 1.2;
}
.hr-detail-who strong {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hr-detail-who .hr-muted { font-size: 0.75rem; }
.hr-detail-dates {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    flex: 0 0 auto;
    margin-left: auto;
}
.hr-detail-dates .hr-input {
    width: 8.6rem;
    min-height: 2.15rem;
    height: 2.15rem;
}
.hr-detail-dates span { color: var(--text-secondary, #64748b); }
.hr-detail-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.7rem;
    min-width: 0;
    padding-top: 0.55rem;
    border-top: 1px solid var(--border-color, #e2e8f0);
}
.hr-mini-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.32rem;
    min-width: 0;
    flex: 1 1 16rem;
}
.hr-mini-stats em {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.05rem;
    margin: 0;
    padding: 0.28rem 0.5rem;
    border-radius: 8px;
    background: var(--surface-secondary, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    font-style: normal;
    font-size: 0.64rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    white-space: nowrap;
    line-height: 1.15;
}
.hr-mini-stats em span { font-weight: 600; }
.hr-mini-stats em b {
    font-size: 0.86rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary, #0f172a);
}
.hr-mini-stats em.is-ok {
    background: color-mix(in srgb, #15803d 10%, #fff);
    border-color: color-mix(in srgb, #15803d 28%, #e2e8f0);
}
.theme-dark .hr-mini-stats em {
    background: rgba(255,255,255,0.05);
}
.theme-dark .hr-mini-stats em.is-ok {
    background: color-mix(in srgb, #15803d 18%, transparent);
}
.hr-detail-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.32rem;
    flex: 0 0 auto;
    margin-left: auto;
}
.hr-detail-actions .hr-pay-action {
    min-height: 2.15rem;
    padding: 0.32rem 0.55rem;
    font-size: 0.74rem;
    white-space: nowrap;
    border-radius: 8px;
}
.hr-table-wrap--fill {
    flex: 1;
    min-height: 0;
}
.hr-modal--pay { max-width: 460px; }
.hr-amount-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
}
.hr-page .form-control.hr-input.hr-amount-lg,
.hr-amount-lg {
    min-height: 3.15rem;
    height: 3.15rem;
    font-size: 1.45rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}
.hr-pay-action-row,
.hr-ledger-head .hr-panel-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}
.hr-pay-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.6rem;
    padding: 0.45rem 0.6rem;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}
.hr-pay-action b { font-weight: 800; }
.hr-pay-action--cash { background: #15803d; }
.hr-pay-action--bank { background: #1d4ed8; }
.hr-pay-action--salary { background: #0f172a; }
.hr-pay-action:hover { filter: brightness(1.08); }
.hr-pay-card {
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    padding: 1rem 1.1rem;
}
.hr-pay-card .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0 0 0.65rem;
}
.hr-pay-card .hr-form-grid .form-group { margin: 0; }
.hr-pay-card .form-group label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
}
.hr-select2 {
    position: relative;
    width: 100%;
}
.hr-select2.is-open { z-index: 40; }
.hr-modal .hr-select2.is-open { z-index: 80; }
.hr-modal.hr-modal--sm .hr-select2.is-open { z-index: 120; }
.hr-select2-btn {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    min-height: 2.15rem;
    padding: 0.42rem 0.6rem;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 8px;
    background: var(--card-bg, var(--white, #fff));
    color: var(--text-primary, #111);
    font-size: 0.82rem;
    font-family: inherit;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.hr-select2-btn span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hr-select2-btn i { flex: 0 0 auto; font-size: 0.7rem; opacity: 0.65; }
.hr-select2.is-open .hr-select2-btn,
.hr-select2-btn:focus {
    outline: none;
    border-color: var(--primary, #242424);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #242424) 18%, transparent);
}
.hr-select2-dropdown {
    position: absolute;
    top: calc(100% + 3px);
    left: 0;
    right: 0;
    z-index: 50;
    display: flex;
    flex-direction: column;
    max-height: 240px;
    overflow: hidden;
    background: var(--card-bg, var(--white, #fff));
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.hr-modal.hr-modal--sm .hr-select2-dropdown {
    z-index: 130;
    max-height: 220px;
}
.hr-select2-dropdown .hr-select2-search {
    width: auto;
    margin: 0.35rem;
    flex: 0 0 auto;
}
.hr-select2-dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0.15rem 0 0.25rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    max-height: 196px;
}
.hr-select2-dropdown ul li {
    padding: 0.45rem 0.7rem;
    cursor: pointer;
    font-size: 0.82rem;
    line-height: 1.3;
    color: var(--text-primary, #111);
}
.hr-select2-dropdown ul li:hover {
    background: color-mix(in srgb, var(--primary, #e0143a) 8%, transparent);
    color: var(--primary, #e0143a);
}
.hr-select2-dropdown ul li.muted {
    cursor: default;
    color: var(--text-secondary, #94a3b8);
}
.hr-select2-dropdown ul li.muted:hover {
    background: transparent;
    color: var(--text-secondary, #94a3b8);
}
.theme-dark .hr-select2-dropdown {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.hr-pay-card-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.85rem;
}
.hr-pay-total {
    font-weight: 700;
    font-size: 1.15rem;
    padding: 0.45rem 0.15rem;
    color: var(--text-color, #0f172a);
}
.hr-pay-card .hr-hint { margin: 0.35rem 0 0.65rem; font-size: 0.78rem; }
.hr-pay-card .form-group small.hr-muted { font-size: 0.68rem; }
.hr-pay-sum td { font-weight: 700; border-top: 2px solid var(--border-color, #e2e8f0); }
.hr-pay-list .hr-panel-bar {
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
}
.hr-pay-list .hr-filter-row { margin: 0; }
.hr-pay-actions { display: flex; gap: 0.5rem; }
.hr-pay-list .hr-panel-bar {
    margin-bottom: 0.5rem;
}
@media (max-width: 960px) {
    .hr-pay-layout,
    .hr-pay-workspace { grid-template-columns: 1fr; }
    .hr-pay-action-row,
    .hr-ledger-head .hr-panel-actions { grid-template-columns: 1fr; }
}
.hr-hint {
    margin: 0.45rem 0 0;
    font-size: 0.72rem;
    color: var(--text-secondary, #64748b);
    line-height: 1.35;
}
.hr-salary-total {
    margin-top: 0.45rem;
    font-size: 0.88rem;
}

.hr-sgk-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--surface-secondary, #f8fafc);
}
.hr-sgk-box > div {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}
.hr-sgk-box span { font-size: 0.68rem; color: var(--text-secondary); font-weight: 600; }
.hr-sgk-box strong { font-size: 0.9rem; font-variant-numeric: tabular-nums; }

/* Hesap kapanış: yeşil halka + check (PosPhysicalFx) */
@keyframes pos-fx-celebrate-ring-kf {
    0% { transform: scale(0.2); opacity: 0.85; }
    70% { opacity: 0.35; }
    100% { transform: scale(2.4); opacity: 0; }
}
@keyframes pos-fx-celebrate-check-kf {
    0% { transform: scale(0.2); opacity: 0; }
    45% { transform: scale(1.15); opacity: 1; }
    100% { transform: scale(1); opacity: 0; }
}
.pos-fx-celebrate-host {
    position: fixed;
    z-index: 40100;
    pointer-events: none;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
}
.pos-fx-celebrate-ring {
    position: absolute;
    left: 0; top: 0;
    width: 88px; height: 88px;
    margin: -44px 0 0 -44px;
    border-radius: 50%;
    border: 4px solid var(--success, #28a745);
    animation: pos-fx-celebrate-ring-kf 0.85s ease forwards;
}
.pos-fx-celebrate-check {
    position: absolute;
    left: 0; top: 0;
    width: 52px; height: 52px;
    margin: -26px 0 0 -26px;
    border-radius: 50%;
    background: var(--success, #28a745);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 8px 24px rgba(40, 167, 69, 0.4);
    animation: pos-fx-celebrate-check-kf 0.85s ease forwards;
}
html.ui-lite-mode .pos-fx-celebrate-host { display: none !important; }

/* Ağ terazi tanımları (Ayarlar) + PLU modal */
.network-scale-settings-section .settings-hint {
    margin: 0 0 1rem;
    color: var(--text-secondary, #64748b);
    font-size: 0.9rem;
    line-height: 1.45;
}
.network-scale-layout {
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.network-scale-card {
    background: var(--card-bg, #fff);
    border: 1px solid var(--light-gray, #e2e8f0);
    border-radius: 12px;
    padding: 1rem 1.1rem 1.15rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.network-scale-card-title {
    margin: 0 0 0.85rem;
    font-size: 1rem;
    font-weight: 650;
    color: var(--text-primary, #0f172a);
}
.network-scale-fields {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.network-scale-settings-section .settings-field {
    margin-bottom: 0;
}
.network-scale-settings-section .settings-field-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary, #475569);
}
.network-scale-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--light-gray, #d0d5dd);
    border-radius: 8px;
    font-size: 0.95rem;
    background: var(--input-bg, #fff);
    color: var(--text-primary, #0f172a);
}
.network-scale-input:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.network-scale-switch {
    margin: 0.15rem 0 0.25rem;
}
.network-scale-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1rem;
}
.network-scale-empty {
    text-align: center;
    padding: 1.5rem 1rem;
    color: var(--text-secondary, #64748b);
}
.network-scale-empty i {
    font-size: 1.75rem;
    opacity: 0.55;
    margin-bottom: 0.5rem;
    display: block;
}
.network-scale-list {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.network-scale-list-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--light-gray, #e2e8f0);
    border-radius: 10px;
    background: var(--surface-2, #f8fafc);
}
.network-scale-list-item--inactive {
    opacity: 0.72;
}
.network-scale-list-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary, #2563eb);
    flex-shrink: 0;
}
.network-scale-list-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.network-scale-list-body strong {
    font-size: 0.95rem;
    color: var(--text-primary, #0f172a);
}
.network-scale-list-ip {
    font-size: 0.82rem;
    color: var(--text-secondary, #64748b);
    font-family: ui-monospace, Consolas, monospace;
}
.network-scale-status {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    font-weight: 650;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
}
.network-scale-status.is-on {
    background: #dcfce7;
    color: #166534;
}
.network-scale-status.is-off {
    background: #fee2e2;
    color: #991b1b;
}
.network-scale-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    flex-shrink: 0;
}
.theme-dark .network-scale-card,
.theme-dark .network-scale-list-item {
    background: var(--card-bg, #1e293b);
    border-color: rgba(255, 255, 255, 0.08);
}
.theme-dark .network-scale-input {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--text-primary, #e2e8f0);
}

/* PLU 112 grid modal */
.network-plu-modal-overlay {
    z-index: 10040;
}
.network-plu-modal.modal-content {
    width: min(96vw, 1120px);
    max-width: 1120px;
    max-height: min(94vh, 900px);
}
.network-plu-modal-body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}
.network-plu-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    align-items: center;
    justify-content: space-between;
}
.network-plu-toolbar-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
    font-size: 0.9rem;
}
.network-plu-toolbar-label select {
    min-width: 220px;
    padding: 0.4rem 0.55rem;
    border-radius: 8px;
    border: 1px solid var(--light-gray, #d0d5dd);
    background: var(--input-bg, #fff);
    font: inherit;
}
.network-plu-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.network-plu-hint {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-secondary, #64748b);
}
.network-plu-grid {
    display: grid;
    grid-template-columns: repeat(14, minmax(0, 1fr));
    gap: 5px;
}
.network-plu-key {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 54px;
    padding: 4px 5px;
    border: 1px solid var(--border-color, #d0d5dd);
    border-radius: 7px;
    background: var(--surface-2, #f8fafc);
    cursor: pointer;
    text-align: left;
    font: inherit;
    transition: background 0.12s ease, border-color 0.12s ease, transform 0.08s ease;
}
.network-plu-key:hover {
    border-color: var(--primary, #2563eb);
    transform: translateY(-1px);
}
.network-plu-key--filled {
    background: #e8f5e9;
    border-color: #a5d6a7;
}
.network-plu-key--active {
    outline: 2px solid var(--primary, #2563eb);
    outline-offset: 1px;
}
.network-plu-key-num {
    font-size: 0.7rem;
    font-weight: 700;
    color: #64748b;
}
.network-plu-key-name {
    font-size: 0.65rem;
    line-height: 1.15;
    max-height: 2.4em;
    overflow: hidden;
    color: #1e293b;
}
.network-plu-key-price {
    display: block;
    margin-top: 2px;
    font-size: 0.62rem;
    font-weight: 700;
    color: #0f766e;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.theme-dark .network-plu-key {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(255, 255, 255, 0.1);
}
.theme-dark .network-plu-key-name {
    color: #e2e8f0;
}
.theme-dark .network-plu-key--filled {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(74, 222, 128, 0.45);
}

/* PLU ürün seç nested modal */
.network-plu-pick-overlay {
    z-index: 10050;
    background: rgba(15, 23, 42, 0.45);
}
.network-plu-pick-modal.modal-content {
    width: min(92vw, 520px);
    max-width: 520px;
    max-height: min(88vh, 640px);
}
.network-plu-pick-body {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-height: 0;
}
.network-plu-pick-actions {
    display: flex;
    justify-content: flex-end;
}
.network-plu-pick-search,
.network-plu-pick-body .products-admin-search.network-plu-pick-search {
    width: 100%;
    box-sizing: border-box;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--light-gray, #d0d5dd);
    border-radius: 8px;
    font-size: 0.95rem;
    background: var(--input-bg, #fff);
    color: var(--text-primary, #0f172a);
    outline: none;
}
.network-plu-pick-search:focus,
.network-plu-pick-body .products-admin-search.network-plu-pick-search:focus {
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.network-plu-pick-search::placeholder {
    color: var(--text-secondary, #94a3b8);
}
.network-scale-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.network-scale-color-swatch {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.12);
}
.network-scale-color-swatch--selected {
    border-color: var(--text-primary, #0f172a);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(15, 23, 42, 0.35);
}
.network-scale-color-dot {
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    margin-right: 0.35rem;
    vertical-align: middle;
    flex-shrink: 0;
}
.network-plu-modal-body {
    --scale-color: #2563eb;
}
.network-plu-key--filled {
    border-color: var(--scale-color, #2563eb);
}
.network-plu-key--active {
    outline-color: var(--scale-color, #2563eb);
}
.network-plu-product-badge--other {
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.network-plu-product-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: min(48vh, 360px);
    overflow: auto;
    border: 1px solid var(--light-gray, #e2e8f0);
    border-radius: 10px;
    background: var(--surface-2, #f8fafc);
}
.network-plu-product-list li button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    text-align: left;
    padding: 0.55rem 0.7rem;
    border: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: transparent;
    cursor: pointer;
    font: inherit;
}
.network-plu-product-list li:last-child button {
    border-bottom: none;
}
.network-plu-product-list li button:hover:not(:disabled) {
    background: rgba(37, 99, 235, 0.08);
}
.network-plu-product-main {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}
.network-plu-product-name {
    font-weight: 600;
    color: var(--text-primary, #0f172a);
}
.network-plu-product-main small {
    color: var(--text-secondary, #64748b);
    font-size: 0.78rem;
}
.network-plu-product-badge {
    flex-shrink: 0;
    font-size: 0.7rem;
    font-weight: 650;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
}
.network-plu-product-badge--plu {
    background: #dbeafe;
    color: #1d4ed8;
}
.network-plu-product--disabled button,
.network-plu-product-list li.network-plu-product--disabled button {
    opacity: 0.45;
    cursor: not-allowed;
    filter: grayscale(0.35);
    background: rgba(148, 163, 184, 0.08);
}
.network-plu-product-empty {
    padding: 0.85rem 0.75rem;
}
@media (max-width: 900px) {
    .network-plu-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .network-scale-layout { grid-template-columns: 1fr; }
    .network-scale-list-item { flex-wrap: wrap; }
}

/* ========== Reçete stüdyosu (RecipesPage) ========== */
.recipes-page-wrapper {
    flex: 1;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.rcp-studio {
    --rcp-ink: var(--text-primary, #333);
    --rcp-muted: var(--text-muted, #6c757d);
    --rcp-line: var(--medium-gray, #e3e3e3);
    --rcp-panel: var(--lighter-gray, #f3f3f3);
    --rcp-card: var(--white, #fff);
    --rcp-accent: var(--nav-bg, #d01c42);
    --rcp-accent-dark: var(--nav-bg-dark, #820e2b);
    --rcp-ok: var(--success, #4CAF50);
    --rcp-warn: #e67e22;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 0;
    height: 100%;
    min-height: 0;
    background: var(--lighter-gray, #f3f3f3);
    color: var(--rcp-ink);
    font-family: var(--font-family-base);
}
.rcp-rail {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    background: var(--rcp-card);
    border-right: 1px solid var(--rcp-line);
}
.rcp-rail-head {
    flex: 0 0 auto;
    padding: 10px 10px 8px;
    border-bottom: 1px solid var(--rcp-line);
}
.rcp-rail-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}
.rcp-rail-title strong {
    font-size: 0.95rem;
}
.rcp-rail-counts {
    font-size: 0.72rem;
    color: var(--rcp-muted);
}
.rcp-input,
.rcp-select {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cfcfcf;
    background: #fff;
    color: var(--rcp-ink);
    border-radius: var(--border-radius, 6px);
    padding: 7px 9px;
    font-size: 0.8125rem;
    font-family: inherit;
    line-height: 1.3;
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    margin-bottom: 8px;
}
.rcp-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
    cursor: pointer;
    margin-bottom: 0;
}
.rcp-input:focus,
.rcp-select:focus {
    border-color: var(--rcp-accent);
    box-shadow: 0 0 0 2px rgba(208, 28, 66, 0.15);
}
.rcp-input:disabled {
    background: var(--rcp-panel);
    color: #999;
    cursor: not-allowed;
}
.rcp-input--num {
    width: 72px;
    min-width: 64px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0;
}
.rcp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.rcp-chip {
    border: 1px solid var(--rcp-line);
    background: var(--rcp-panel);
    color: var(--rcp-muted);
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
}
.rcp-chip b { margin-left: 3px; color: var(--rcp-ink); }
.rcp-chip.active {
    background: var(--primary, #242424);
    border-color: var(--primary, #242424);
    color: #fff;
}
.rcp-chip.active b { color: #fff; }
.rcp-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px;
    -webkit-overflow-scrolling: touch;
}
.rcp-list-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    text-align: left;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 6px;
    padding: 7px 8px;
    margin-bottom: 2px;
    cursor: pointer;
    color: inherit;
    font: inherit;
}
.rcp-expand,
.rcp-expand-spacer {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border: none;
    background: transparent;
    color: #888;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
}
.rcp-portion-list {
    padding: 0 6px 6px 26px;
}
.rcp-portion-item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 6px;
    padding: 5px 8px;
    margin-bottom: 2px;
    cursor: pointer;
    font: inherit;
    color: inherit;
    font-size: 0.78rem;
}
.rcp-portion-item:hover { background: var(--rcp-panel); }
.rcp-portion-item.active {
    background: #fff;
    border-color: #ccc;
    box-shadow: inset 3px 0 0 var(--rcp-accent);
}
.rcp-pill.ok { background: #e8f5e9; color: var(--rcp-ok); }
.rcp-pill.miss { background: #fff0e0; color: var(--rcp-warn); }
/* Sağdan kayan drawer */
.rcp-drawer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(320px, 92%);
    z-index: 12;
    background: #fff;
    border-left: 1px solid var(--rcp-line);
    box-shadow: -8px 0 28px rgba(0,0,0,0.12);
    display: flex;
    flex-direction: column;
    transform: translateX(105%);
    transition: transform 0.22s ease;
    pointer-events: none;
}
.rcp-drawer--editor {
    width: min(900px, 96%);
}
.rcp-drawer--palette {
    width: min(360px, 92%);
}
.rcp-drawer--where,
.rcp-drawer--insights {
    width: min(360px, 92%);
}
.rcp-drawer.open {
    transform: translateX(0);
    pointer-events: auto;
}
.rcp-drawer-head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid var(--rcp-line);
    font-size: 0.85rem;
}
.rcp-drawer .rcp-input {
    margin: 0 12px 8px;
    width: calc(100% - 24px);
}
.rcp-drawer-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0 8px 12px;
}
.rcp-drawer-list--editor {
    padding: 8px 10px 12px;
}
.rcp-line-card {
    border: 1px solid var(--rcp-line);
    border-radius: 8px;
    padding: 6px 8px;
    margin-bottom: 6px;
    background: #fafafa;
}
.rcp-line-card.active {
    border-color: #ccc;
    box-shadow: inset 3px 0 0 var(--rcp-accent);
    background: #fff;
}
.rcp-line-card.drag-over {
    border-color: var(--rcp-accent, #8d6e63);
    background: #fff8f0;
}
.rcp-line-card.dragging {
    opacity: 0.55;
}
.rcp-line-drag {
    flex: 0 0 22px;
    width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    color: #9e9e9e;
    user-select: none;
}
.rcp-line-drag:active { cursor: grabbing; }
.rcp-editor-hint {
    margin: 0 12px 6px;
    font-size: 0.72rem;
    color: #888;
}
.rcp-cost-muted {
    font-size: 0.78rem;
    opacity: 0.75;
    font-weight: 500;
}
.rcp-copyboard {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-top: 1px solid var(--rcp-line, #e6e6e6);
    background: linear-gradient(180deg, #fafafa 0%, #f3f3f3 100%);
    min-height: 52px;
}
.rcp-copyboard.drop-active {
    background: #fff8e1;
    box-shadow: inset 0 0 0 2px #f0b429;
}
.rcp-copyboard-meta {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 110px;
    max-width: 160px;
}
.rcp-copyboard-meta strong {
    font-size: 0.78rem;
    color: var(--rcp-ink, #222);
}
.rcp-copyboard-meta span {
    font-size: 0.68rem;
    color: #888;
    line-height: 1.25;
}
.rcp-copyboard-pills {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    max-height: 72px;
    overflow-y: auto;
}
.rcp-copy-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 180px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 999px;
    padding: 4px 6px 4px 10px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    line-height: 1.2;
}
.rcp-copy-pill:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.rcp-copy-pill:not(:disabled):hover {
    border-color: #999;
}
.rcp-copy-pill.is-mat { border-color: #cfd8dc; }
.rcp-copy-pill.is-sub { border-color: #f8bbd0; background: #fff5f8; }
.rcp-copy-pill.is-extra { border-color: #ffe082; background: #fffde7; }
.rcp-copy-pill i { font-size: 0.68rem; opacity: 0.75; }
.rcp-copy-pill-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rcp-copy-pill-amt {
    font-variant-numeric: tabular-nums;
    color: #666;
    font-weight: 500;
}
.rcp-copy-pill-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #999;
    flex: 0 0 auto;
}
.rcp-copy-pill-x:hover {
    background: #eee;
    color: #c62828;
}
.rcp-copyboard-clear {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px dashed #bbb;
    background: transparent;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 0.72rem;
    font-weight: 600;
    color: #666;
    cursor: pointer;
}
.rcp-copyboard-clear:disabled {
    opacity: 0.4;
    cursor: default;
}
.rcp-copyboard-clear:not(:disabled):hover {
    border-color: #c62828;
    color: #c62828;
}
.rcp-drop-banner--board {
    background: #f0b429;
    color: #222;
}
.rcp-palette-pin {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #999;
    font-size: 0.7rem;
}
.rcp-palette-pin:hover {
    background: #eee;
    color: #c62828;
}
.rcp-extra-block {
    margin: 14px 4px 8px;
    padding: 10px 10px 8px;
    border-top: 1px solid var(--rcp-line, #e6e6e6);
}
.rcp-extra-head {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 8px;
}
.rcp-extra-head strong {
    font-size: 0.85rem;
}
.rcp-extra-head span {
    font-size: 0.72rem;
    color: #888;
}
.rcp-extra-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.rcp-extra-chip {
    border: 1px solid var(--rcp-line, #ddd);
    background: #fff;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.72rem;
    cursor: pointer;
    color: #444;
}
.rcp-extra-chip:hover {
    border-color: var(--rcp-accent, #c62828);
    color: var(--rcp-accent, #c62828);
}
.rcp-extra-chip--add {
    border-style: dashed;
}
.rcp-extra-empty {
    font-size: 0.72rem;
    color: #999;
    line-height: 1.35;
    margin-bottom: 4px;
}
.rcp-extra-row {
    display: grid;
    grid-template-columns: 1fr 72px 32px 32px;
    gap: 6px;
    align-items: center;
    margin-bottom: 6px;
}
.rcp-extra-sum {
    margin-top: 4px;
    font-size: 0.78rem;
    color: #666;
    text-align: right;
}
.rcp-quick-ham {
    margin: 0 12px 8px;
    border: 1px dashed var(--rcp-line, #ddd);
    border-radius: 8px;
    padding: 8px;
    background: #fafafa;
}
.rcp-quick-ham-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--rcp-accent, #6d4c41);
    font-size: 0.8rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    padding: 2px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.rcp-quick-ham-form {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rcp-drawer .rcp-quick-ham-form .rcp-input,
.rcp-drawer .rcp-quick-ham-form .rcp-select {
    margin: 0;
    width: 100%;
}
.rcp-quick-ham-row {
    display: flex;
    gap: 6px;
    align-items: center;
}
.rcp-quick-ham-row .rcp-select { flex: 1 1 90px; min-width: 70px; }
.rcp-quick-ham-row .rcp-input--num { flex: 1 1 70px; min-width: 64px; }
.rcp-quick-ham-hint {
    margin: 0;
    font-size: 0.7rem;
    color: #888;
    line-height: 1.3;
}
.rcp-quick-ham-save {
    align-self: stretch;
    justify-content: center;
}
.rcp-line-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}
.rcp-line-name {
    flex: 1 1 140px;
    min-width: 110px;
    max-width: 180px;
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rcp-line-row .rcp-select {
    flex: 0 0 110px;
    width: 110px;
    margin-bottom: 0;
}
.rcp-line-row .rcp-input--num {
    flex: 0 0 68px;
    width: 68px;
    margin-bottom: 0;
}
.rcp-line-row .rcp-icon-btn {
    flex: 0 0 auto;
}
.rcp-line-card-top,
.rcp-line-fields {
    display: none !important;
}
.rcp-float,
.rcp-sheet {
    display: none !important;
}
.rcp-list-item:hover {
    background: var(--rcp-panel);
}
.rcp-list-item.active {
    background: #fff;
    border-color: #ccc;
    box-shadow: inset 3px 0 0 var(--rcp-accent);
}
.rcp-list-name {
    flex: 1;
    min-width: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rcp-list-side {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}
.rcp-list-cost {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--dark-gray, #333);
    font-variant-numeric: tabular-nums;
}
.rcp-list-cost.loss { color: var(--rcp-accent); }
.rcp-pill {
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 1px 5px;
    border-radius: 999px;
    background: #e7e7e7;
    color: #555;
}
.rcp-list-item.status-critical .rcp-pill { background: #fde8ec; color: var(--rcp-accent); }
.rcp-list-item.status-missing .rcp-pill { background: #fff0e0; color: var(--rcp-warn); }
.rcp-list-item.status-ok .rcp-pill { background: #e8f5e9; color: var(--rcp-ok); }
.rcp-empty,
.rcp-loading {
    padding: 16px 10px;
    text-align: center;
    color: var(--rcp-muted);
    font-size: 0.8rem;
}
.rcp-stage {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    height: 100%;
}
.rcp-stage-bar {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #fff;
    border-bottom: 1px solid var(--rcp-line);
}
.rcp-stage-title { min-width: 0; flex: 1 1 auto; }
.rcp-stage-title h2 {
    margin: 0;
    font-size: 0.95rem;
    max-width: min(360px, 42vw);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rcp-stage-title span {
    font-size: 0.7rem;
    color: var(--rcp-muted);
}
.rcp-cost-strip {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px 14px;
    padding: 4px 12px;
    min-height: 28px;
    background: #f7f7f8;
    border-bottom: 1px solid var(--rcp-line);
    font-size: 0.72rem;
    color: var(--rcp-muted);
    overflow-x: auto;
}
.rcp-cost-strip-item {
    flex: 0 0 auto;
    white-space: nowrap;
}
.rcp-cost-strip-item b {
    color: var(--rcp-ink);
    font-variant-numeric: tabular-nums;
}
.rcp-cost-strip-sep {
    flex: 0 0 auto;
    width: 1px;
    height: 12px;
    background: #d8d8d8;
}
.rcp-cost-strip .rcp-cost-muted {
    font-size: 0.68rem;
    opacity: 0.8;
}
.rcp-cost-strip.tone-loss .rcp-cost-strip-item.loss b,
.rcp-cost-strip .loss b { color: var(--rcp-accent); }
.rcp-cost-strip.tone-good .rcp-margin-badge b { color: var(--rcp-ok); }
.rcp-cost-strip.tone-mid .rcp-margin-badge { color: var(--rcp-warn, #c47a00); }
.rcp-cost-strip.tone-low .rcp-margin-badge { color: var(--rcp-accent); }
.rcp-margin-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    background: #f3f3f3;
    font-weight: 600;
    white-space: nowrap;
    flex: 0 0 auto;
    margin-left: auto;
}
.rcp-margin-badge.tone-good { background: #e8f5e9; }
.rcp-margin-badge.tone-mid { background: #fff6e5; }
.rcp-margin-badge.tone-low,
.rcp-margin-badge.tone-loss { background: #fde8ec; }
.rcp-stage-actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    margin-left: auto;
    flex: 0 1 auto;
    min-width: 0;
    overflow-x: auto;
}
.rcp-stage-actions .btn.active {
    box-shadow: inset 0 0 0 1px var(--rcp-accent);
}
.rcp-switch-row {
    margin: 0;
    padding: 0 4px 0 0;
    gap: 6px;
    border: none;
}
.rcp-switch-row .app-switch-label {
    font-size: 0.75rem;
    white-space: nowrap;
}
.rcp-stage-body {
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}
.rcp-stage-empty {
    flex: 1;
    display: grid;
    place-content: center;
    text-align: center;
    color: var(--rcp-muted);
    padding: 32px;
}
.rcp-stage-empty i {
    font-size: 2rem;
    color: var(--primary-second, #363636);
    margin-bottom: 10px;
}
.rcp-stage-empty h3 { margin: 0 0 6px; color: var(--rcp-ink); }
.rcp-stage-empty p { margin: 0 auto; max-width: 360px; line-height: 1.4; font-size: 0.85rem; }
.rcp-canvas {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    cursor: grab;
    background:
        linear-gradient(color-mix(in srgb, var(--rcp-ink, var(--text-primary)) 6%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--rcp-ink, var(--text-primary)) 6%, transparent) 1px, transparent 1px);
    background-size: 24px 24px;
    background-color: var(--lighter-gray, #f3f3f3);
}
.rcp-canvas:active { cursor: grabbing; }
.rcp-canvas.drop-active {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--nav-bg, #d01c42) 45%, transparent);
    background-color: color-mix(in srgb, var(--nav-bg, #d01c42) 4%, var(--lighter-gray, #f3f3f3));
}
.rcp-canvas-world {
    position: absolute;
    inset: 0;
    transform-origin: 0 0;
    opacity: 0;
    pointer-events: none;
}
.rcp-canvas-world.ready {
    opacity: 1;
    pointer-events: auto;
}
.rcp-wires {
    position: absolute;
    left: 0;
    top: 0;
    width: 4000px;
    height: 3000px;
    pointer-events: none;
    overflow: visible;
}
.rcp-wire {
    stroke: url(#rcpWireMat);
    stroke-width: 2.5;
    stroke-linecap: round;
    opacity: 0.32;
}
.rcp-wire.sub {
    stroke: url(#rcpWireSub);
    stroke-width: 3;
    opacity: 0.38;
}
.rcp-wire.sub.depth-1 {
    stroke: url(#rcpWireSub2);
    opacity: 0.42;
}
.rcp-wire.sub.depth-2 {
    stroke: url(#rcpWireSub3);
    opacity: 0.45;
}
.rcp-wire.bom {
    stroke-dasharray: 5 4;
    opacity: 0.28;
}
.rcp-node {
    position: absolute;
    width: 168px;
    min-height: 80px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px 10px 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    cursor: grab;
    user-select: none;
    z-index: 2;
}
.rcp-node.kind-root {
    width: 200px;
    min-height: 92px;
    border-color: #999;
    border-width: 2px;
    background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%);
}
.rcp-node.kind-sub {
    border-color: var(--rcp-accent);
    background: linear-gradient(180deg, #fff5f7 0%, #fff 100%);
}
.rcp-node.kind-bom-sub {
    width: 148px;
    min-height: 72px;
    border-color: #0d9488;
    border-width: 2px;
    background: linear-gradient(180deg, #f0fdfa 0%, #fff 100%);
}
.rcp-node.kind-bom-sub.depth-2,
.rcp-node.kind-bom-sub.depth-3 {
    border-color: #d97706;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}
.rcp-node.can-expand {
    cursor: pointer;
}
.rcp-node.can-expand:hover {
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}
.rcp-node.selected {
    box-shadow: 0 0 0 2px rgba(208, 28, 66, 0.35);
}
.rcp-node.dragging {
    cursor: grabbing;
    z-index: 5;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.rcp-node-title {
    display: block;
    font-size: 0.8rem;
    line-height: 1.2;
    margin-bottom: 3px;
    padding-right: 16px;
}
.rcp-node-sub {
    display: block;
    font-size: 0.68rem;
    color: var(--rcp-muted);
}
.rcp-node-prices {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-top: 5px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
}
.rcp-price-cost {
    color: #c62828;
}
.rcp-price-sale {
    color: #2e7d32;
}
.rcp-price-contrib {
    color: var(--text-secondary, #555);
    font-weight: 600;
    background: var(--lighter-gray, #f3f3f3);
    padding: 0 5px;
    border-radius: 4px;
}
.rcp-node.kind-bom {
    width: 148px;
    min-height: 72px;
    border-style: dashed;
    background: #fafafa;
    opacity: 0.96;
}
.rcp-node.kind-sub.expanded {
    box-shadow: 0 0 0 2px rgba(208, 28, 66, 0.2);
}
.rcp-node.kind-bom-sub.expanded {
    box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.28);
}
.rcp-node-badge.bom {
    background: #666;
}
.rcp-node-badge.bom-sub {
    background: #0d9488;
}
.rcp-node.kind-bom-sub.depth-2 .rcp-node-badge.bom-sub,
.rcp-node.kind-bom-sub.depth-3 .rcp-node-badge.bom-sub {
    background: #d97706;
}
.rcp-node.kind-bom-sub .rcp-node-port--in { border-color: #0d9488; }
.rcp-node.kind-bom-sub.depth-2 .rcp-node-port--in,
.rcp-node.kind-bom-sub.depth-3 .rcp-node-port--in { border-color: #d97706; }
.rcp-node-bom {
    position: absolute;
    top: 6px;
    right: 28px;
    width: 22px;
    height: 20px;
    border: none;
    border-radius: 4px;
    background: #eee;
    color: #444;
    cursor: pointer;
    font-size: 0.68rem;
}
.rcp-node-bom:hover {
    background: #fde8ec;
    color: var(--rcp-accent);
}
.rcp-insight-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    margin: 8px 10px 0;
    border-radius: 8px;
    background: #f5f5f5;
    font-size: 0.85rem;
}
.rcp-insight-status.tone-good { background: #e8f5e9; color: var(--rcp-ok); }
.rcp-insight-status.tone-mid { background: #fff6e5; color: var(--rcp-warn, #c47a00); }
.rcp-insight-status.tone-low,
.rcp-insight-status.tone-loss { background: #fde8ec; color: var(--rcp-accent); }
.rcp-insight-lead {
    margin: 8px 12px 4px;
    font-size: 0.72rem;
    color: var(--rcp-muted);
    line-height: 1.35;
}
.rcp-opt-row {
    margin: 6px 10px;
    padding: 10px;
    border: 1px solid var(--rcp-line);
    border-radius: 8px;
    background: #fff;
}
.rcp-opt-row.hit {
    border-color: var(--rcp-ok);
    box-shadow: 0 0 0 1px rgba(46, 125, 50, 0.2);
}
.rcp-opt-main {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: baseline;
}
.rcp-opt-label { font-size: 0.75rem; color: var(--rcp-muted); }
.rcp-opt-price { font-size: 0.95rem; color: #2e7d32; }
.rcp-opt-note { display: block; margin-top: 4px; font-size: 0.68rem; color: var(--rcp-muted); }
.rcp-where-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: calc(100% - 20px);
    margin: 4px 10px;
    padding: 10px;
    border: 1px solid var(--rcp-line);
    border-radius: 8px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}
.rcp-where-item:hover {
    border-color: var(--rcp-accent);
    background: #faf5f6;
}
.rcp-where-item strong {
    font-size: 0.82rem;
    color: var(--rcp-ink);
}
.rcp-where-item span {
    font-size: 0.7rem;
    color: var(--rcp-muted);
}
.rcp-node-badge {
    position: absolute;
    top: -7px;
    left: 10px;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--rcp-accent);
    color: #fff;
}
.rcp-node-badge.mat {
    background: var(--primary-second, #363636);
}
.rcp-node-del {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 4px;
    background: #eee;
    color: #666;
    cursor: pointer;
    font-size: 0.7rem;
}
.rcp-node-del:hover {
    background: #fde8ec;
    color: var(--rcp-accent);
}
.rcp-node-port {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #666;
}
.rcp-node-port--out {
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
    border-color: var(--rcp-accent);
}
.rcp-node-port--in {
    left: 50%;
    top: -6px;
    transform: translateX(-50%);
}
.rcp-node.kind-sub .rcp-node-port--in { border-color: var(--rcp-accent); }
.rcp-drop-banner {
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    background: var(--rcp-accent);
    color: #fff;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 8px 14px;
    border-radius: 999px;
    pointer-events: none;
    z-index: 8;
}
/* Overlay: malzeme ekle (sağ, sınırlı) */
.rcp-float {
    position: absolute;
    z-index: 10;
    background: #fff;
    border: 1px solid var(--rcp-line);
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.14);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.rcp-float--palette {
    top: 12px;
    right: 12px;
    width: 260px;
    max-height: min(360px, 55%);
}
.rcp-float-head,
.rcp-sheet-head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-bottom: 1px solid var(--rcp-line);
    font-size: 0.8rem;
}
.rcp-float .rcp-input { margin: 0 10px 8px; width: calc(100% - 20px); }
.rcp-float-list {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 260px;
    overflow-y: auto;
    padding: 0 6px 8px;
}
.rcp-palette-item {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-align: left;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 6px;
    padding: 7px 28px 7px 8px;
    margin-bottom: 2px;
    cursor: grab;
    font: inherit;
    color: inherit;
}
.rcp-palette-item:hover {
    background: var(--rcp-panel);
    border-color: #ddd;
}
.rcp-palette-item.recipe {
    border-left: 3px solid var(--rcp-accent);
}
.rcp-palette-item.added {
    background: rgba(76, 175, 80, 0.14);
    border-color: rgba(76, 175, 80, 0.35);
}
.rcp-palette-check {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--success, #4CAF50);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
}
.rcp-palette-item strong {
    font-size: 0.78rem;
    flex: 1;
    min-width: 0;
}
.rcp-palette-item span {
    font-size: 0.68rem;
    color: var(--rcp-muted);
    flex: 0 0 auto;
}
/* Overlay: satır sheet (alt, sabit max) */
.rcp-sheet {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 10;
    max-height: 200px;
    background: #fff;
    border: 1px solid var(--rcp-line);
    border-radius: 8px;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.rcp-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 6px 10px 10px;
}
.rcp-editor-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}
.rcp-editor-table th {
    text-align: left;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--rcp-muted);
    padding: 4px 5px;
    border-bottom: 1px solid var(--rcp-line);
    position: sticky;
    top: 0;
    background: #fff;
}
.rcp-editor-table td {
    padding: 4px 5px;
    vertical-align: middle;
    border-bottom: 1px solid #eee;
}
.rcp-editor-table tr.active td {
    background: #faf5f6;
}
.rcp-editor-table td.name {
    font-weight: 600;
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rcp-icon-btn {
    width: 28px;
    height: 28px;
    border: 1px solid var(--rcp-line);
    border-radius: 6px;
    background: #fff;
    color: #666;
    cursor: pointer;
}
.rcp-icon-btn:hover {
    border-color: #f5c2c7;
    color: var(--rcp-accent);
    background: #fde8ec;
}
@media (max-width: 900px) {
    .rcp-studio {
        grid-template-columns: 1fr;
        grid-template-rows: 38vh minmax(0, 1fr);
    }
    .rcp-rail {
        border-right: none;
        border-bottom: 1px solid var(--rcp-line);
    }
}

/* Tabak6 → Malleria legacy data wizard */
.legacy-wizard-overlay {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(18, 22, 28, 0.55);
    backdrop-filter: blur(2px);
}
.legacy-wizard-confetti {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.legacy-wizard-card {
    position: relative;
    z-index: 1;
    width: min(480px, 100%);
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #1a1a1a);
    border-radius: 16px;
    padding: 1.75rem 1.5rem 1.5rem;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
    text-align: center;
}
.legacy-wizard-brand {
    display: block;
    font-size: clamp(2rem, 5vw, 2.6rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--primary-color, #c45c6a);
    margin: 0 0 0.55rem;
}
.legacy-wizard-title {
    margin: 0 0 0.65rem;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
}
.legacy-wizard-lead {
    margin: 0 0 0.75rem;
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-primary, #222);
}
.legacy-wizard-text {
    margin: 0 0 0.85rem;
    font-size: 0.98rem;
    line-height: 1.55;
    color: var(--text-secondary, #555);
}
.legacy-wizard-question {
    margin: 0 0 1.35rem;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.45;
    color: var(--text-primary, #222);
}
.legacy-wizard-msg {
    min-height: 2.5em;
}
.legacy-wizard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}
.legacy-wizard-actions .btn {
    min-width: 9rem;
}
.legacy-wizard-progress-track {
    height: 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin: 0.5rem 0 0.35rem;
}
.legacy-wizard-progress-bar {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary-color, #c45c6a), #e89aa4);
    transition: width 0.25s ease;
}
.legacy-wizard-percent {
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.85rem;
    color: var(--text-secondary, #666);
}
.legacy-wizard-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.legacy-wizard-steps li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0;
    font-size: 0.92rem;
    color: var(--text-secondary, #777);
}
.legacy-wizard-steps li.active {
    color: var(--text-primary, #222);
    font-weight: 600;
}
.legacy-wizard-steps li.done {
    color: #2a9d8f;
}
.legacy-wizard-steps li i {
    width: 1.1em;
    text-align: center;
}
.legacy-wizard-icon-ok,
.legacy-wizard-icon-warn {
    font-size: 2.4rem;
    margin-bottom: 0.4rem;
}
.legacy-wizard-icon-ok { color: #2a9d8f; }
.legacy-wizard-icon-warn { color: #e9a825; }

/* Event / sahne rezervasyon */
.event-page-wrapper,
.event-page {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-secondary, #f0f0f0);
}
.event-loading,
.event-module-off {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary, #666);
}
.event-module-off-inner {
    text-align: center;
    max-width: 360px;
}
.event-module-off-inner i { font-size: 2.2rem; margin-bottom: 0.6rem; color: var(--primary-color, #c45c6a); }
.event-shell { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.event-header {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.45rem 0.7rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.28rem 0.55rem;
    min-height: 2.35rem;
    background: var(--card-bg, #fff);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}
.event-header-form { display: flex; flex-wrap: nowrap; gap: 0.35rem; align-items: center; min-width: 0; }
.event-header-form .btn {
    height: 1.85rem;
    padding: 0 0.65rem;
    font-size: 0.78rem;
    white-space: nowrap;
}
.event-date-input,
.event-artist-input,
.event-note-input,
.event-header-form input[type="date"],
.event-header-form input[type="text"] {
    height: 1.85rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    padding: 0 0.45rem;
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    font-size: 0.8rem;
}
.event-page input.event-field-invalid,
.event-page textarea.event-field-invalid,
.event-page select.event-field-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.28);
}
.event-stage-tabs-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    min-height: 2.55rem;
    padding: 0;
    background: #eceef2;
    border-bottom: 1px solid var(--border-color, #d5d8de);
    overflow: hidden;
}
.event-stage-tabs-bar.is-multi {
    min-height: 2.85rem;
}
.event-stage-tab {
    appearance: none;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #4b5563;
    border-radius: 0;
    padding: 0.55rem 1.15rem;
    font-size: 0.9rem;
    font-weight: 650;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
}
.event-stage-tabs-bar.is-multi .event-stage-tab {
    font-size: 0.95rem;
    padding: 0.65rem 1.35rem;
}
.event-stage-tab:hover {
    color: var(--text-primary);
    background: rgba(255, 255, 255, 0.55);
}
.event-stage-tab.active {
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-bottom-color: var(--primary-color, #c45c6a);
    font-weight: 800;
    box-shadow: 0 -1px 0 #fff;
}
.event-stage-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
    flex: 1 1 auto;
    overflow-x: auto;
    padding: 0 0.2rem 0 0.35rem;
}
.event-stage-tab-sep {
    width: 1px;
    flex: 0 0 1px;
    align-self: stretch;
    margin: 0.5rem 0;
    background: rgba(15, 23, 42, 0.16);
}
.event-stage-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    padding: 0 0.45rem 0 0.5rem;
    border-left: 1px solid rgba(15, 23, 42, 0.1);
}
.event-tool-compact {
    position: relative;
    height: 1.85rem;
    min-width: 1.85rem;
    padding: 0 0.55rem;
    border: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    font-size: 0.74rem;
    font-weight: 700;
    cursor: pointer;
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0,0,0,.16);
}
.event-tool-compact--edit { background: var(--primary-color, #c45c6a); }
.event-tool-compact--pdf { background: #dc2626; width: 1.85rem; padding: 0; }
.event-tool-compact--settings { background: #2563eb; width: 1.85rem; padding: 0; }
.event-tool-compact--history { background: #ea580c; width: 1.85rem; padding: 0; }
.event-tool-compact:hover { filter: brightness(1.08); }
.event-stage-tab--add,
.event-stage-tab--icon {
    min-width: 2.2rem;
    padding: 0.55rem 0.7rem;
    font-weight: 800;
    font-size: 1rem;
    color: #6b7280;
}
.event-stage-tabs-bar--edit {
    background: #15151a;
    border-bottom-color: #2a2a32;
}
.event-stage-tabs-bar--edit .event-stage-tab {
    color: rgba(255, 255, 255, 0.62);
}
.event-stage-tabs-bar--edit .event-stage-tab:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}
.event-stage-tabs-bar--edit .event-stage-tab.active {
    background: #1c1c22;
    color: #fff;
    border-bottom-color: var(--primary-color, #c45c6a);
}
.event-stage-tabs-bar--edit .event-stage-tab-sep {
    background: rgba(255, 255, 255, 0.16);
}
.event-artist-input,
.event-artist-field { width: 9.5rem; min-width: 7.5rem; flex: 0 1 9.5rem; }
.event-note-input,
.event-note-field { width: 11rem; min-width: 8rem; flex: 0 1 14rem; }
.event-date-input { width: 8.6rem; flex: 0 0 auto; }
.event-header-meta { display: flex; flex-wrap: nowrap; gap: 0.45rem; align-items: center; flex: 0 0 auto; }
.event-flyer-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 0.4rem 0.85rem;
    padding: 0.32rem 0.55rem 0.38rem;
    background: var(--card-bg, #fff);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
}
.event-flyer-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.32rem;
    align-items: center;
    min-width: 0;
}
.event-flyer-group > span {
    flex: 0 0 100%;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary, #6b7280);
    line-height: 1;
}
.event-flyer-group input {
    height: 1.75rem;
    min-width: 6.2rem;
    flex: 1 1 7rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    padding: 0 0.45rem;
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    font-size: 0.78rem;
}
.event-iban-input {
    display: block;
    width: 100%;
    height: 2.15rem;
    min-height: 2.15rem;
    max-height: 2.15rem;
    flex: none;
    box-sizing: border-box;
    font-family: ui-monospace, Consolas, monospace;
    letter-spacing: 0.04em;
}
@media (max-width: 1100px) {
    .event-flyer-bar { grid-template-columns: 1fr; }
}
.event-kpi { font-size: 0.75rem; color: var(--text-secondary); white-space: nowrap; }
.event-kpi strong { margin-left: 0.2rem; color: var(--text-primary); }
.event-kpi--occ strong { color: #c62828; }
.event-kpi--ciro strong { color: #1b5e20; font-size: 0.92rem; }
.event-layout-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    cursor: pointer;
    user-select: none;
    line-height: 1;
}
.event-layout-switch .app-switch { margin: 0; }
.event-layout-switch em {
    font-style: normal;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}
.event-print-btn {
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    position: relative;
}
.event-icon-badge {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    min-width: 1rem;
    height: 1rem;
    padding: 0 0.22rem;
    border-radius: 999px;
    background: #0f766e;
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1rem;
    text-align: center;
}
.event-edit-enter {
    height: 1.85rem;
    padding: 0 0.7rem;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    background: #1c1c22 !important;
    color: #fff !important;
    border: 0;
    gap: 0.35rem;
}
.event-edit-enter:hover:not(:disabled) {
    background: #111 !important;
    color: #fff !important;
}
.event-edit-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.28rem 0.55rem;
    min-height: 2.5rem;
    background: #1c1c22;
    color: #fff;
    border-bottom: 3px solid var(--primary-color, #c45c6a);
    overflow-x: auto;
}
.event-edit-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    background: var(--primary-color, #c45c6a);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    white-space: nowrap;
}
.event-edit-title {
    font-size: 0.78rem;
    opacity: 0.82;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 11rem;
    flex: 0 1 auto;
}
.event-edit-bar .event-layout-toolbar {
    margin-left: 0.25rem;
    gap: 0.28rem;
}
.event-edit-bar .event-size-field { color: rgba(255,255,255,.8); }
.event-tool-btn {
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 6px;
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 800;
}
.event-tool-btn:hover { background: rgba(255,255,255,.18); }
.event-tool-btn.active {
    background: var(--primary-color, #c45c6a);
    border-color: var(--primary-color, #c45c6a);
}
.event-tool-btn--merge { background: rgba(46, 125, 50, .35); }
.event-tool-btn--split { background: rgba(198, 40, 40, .35); }
.event-edit-done {
    margin-left: auto;
    flex: 0 0 auto;
    height: 1.85rem;
    padding: 0 0.9rem;
    border: 0;
    border-radius: 6px;
    background: #fff;
    color: #1c1c22;
    font-weight: 800;
    font-size: 0.8rem;
    cursor: pointer;
    white-space: nowrap;
}
.event-edit-done:hover { background: #f3f4f6; }
.event-shell--edit .event-sidebar { width: 200px; }
.event-shell--edit .event-stage--edit {
    outline: 3px solid var(--primary-color, #c45c6a);
    outline-offset: -3px;
}
.event-editor-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.55rem;
    padding: 0.2rem 0.55rem;
    min-height: 2.15rem;
    background: var(--card-bg, #fff);
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    overflow-x: auto;
}
.event-layout-toolbar,
.event-print-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    padding: 0;
    margin-left: auto;
    background: transparent;
    border: 0;
}
.event-layout-toolbar .btn {
    height: 1.7rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    white-space: nowrap;
}
.event-print-hint,
.event-layout-hint { display: none; }
.event-size-field {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    color: var(--text-secondary);
    white-space: nowrap;
}
.event-size-field input[type="range"] { width: 5.5rem; }
.event-size-field em { font-style: normal; font-variant-numeric: tabular-nums; min-width: 1.6rem; }
.event-scale-btns { display: inline-flex; gap: 0.25rem; }
.event-scale-btns .btn { min-width: 2rem; font-weight: 800; }
.event-spread-btns {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    padding-left: 0.2rem;
    border-left: 1px solid rgba(255,255,255,.18);
    margin-left: 0.1rem;
}
.event-spread-btns em {
    font-style: normal;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    opacity: 0.78;
    min-width: 0.85rem;
}
.event-print-banner { display: none; }
.event-print-footer { display: none; }
.event-body { flex: 1; min-height: 0; display: flex; }
.event-sidebar {
    width: 240px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--border-color, #e0e0e0);
    background: var(--card-bg, #fff);
    overflow: hidden;
}
.event-shell--wide .event-sidebar {
    width: 0;
    min-width: 0;
    border-right: 0;
    opacity: 0;
    pointer-events: none;
}
.event-palette { padding: 0.75rem; border-bottom: 1px solid var(--border-color, #eee); }
.event-shell--edit .event-palette {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.45rem 0.55rem;
}
.event-fix-menu { padding: 0.75rem; border-bottom: 1px solid var(--border-color, #eee); }
.event-fix-search {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.4rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: var(--input-bg, #fff);
    color: var(--text-primary);
    font-size: 0.85rem;
}
.event-fix-hits {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.45rem;
    max-height: 160px;
    overflow: auto;
}
.event-fix-hit {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.4rem;
    width: 100%;
    text-align: left;
    border: 1px solid var(--border-color, #eee);
    background: var(--card-bg, #fff);
    border-radius: 8px;
    padding: 0.35rem 0.5rem;
    cursor: pointer;
}
.event-fix-hit strong { font-size: 0.82rem; }
.event-fix-hit small { font-size: 0.72rem; color: var(--text-secondary); }
.event-arrive-products { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.75rem; text-align: left; }
.event-arrive-product {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    cursor: pointer;
}
.event-arrive-product span { display: flex; flex-direction: column; }
.event-arrive-product small { opacity: 0.75; font-size: 0.8rem; }
.event-history { flex: 1; min-height: 0; overflow: auto; padding: 0.75rem; }
.event-side-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.4rem; }
.event-side-head h4 { margin: 0; font-size: 0.92rem; }
.event-side-hint { margin: 0 0 0.5rem; font-size: 0.75rem; color: var(--text-secondary); }
.event-type-list { display: flex; flex-direction: column; gap: 0.4rem; }
.event-type-chip {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.45rem;
    border-radius: 10px;
    background: color-mix(in srgb, var(--event-type-color, #ddd) 28%, #fff);
    border: 1px solid color-mix(in srgb, var(--event-type-color, #ddd) 55%, #ccc);
}
.event-type-chip--drag { cursor: grab; touch-action: none; }
.event-type-swatch { width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgba(0,0,0,.15); }
.event-type-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; color: var(--text-primary); }
.event-type-meta strong { font-size: 0.85rem; }
.event-type-meta small { font-size: 0.72rem; opacity: 0.8; }
.event-type-prod { display: block; }
.event-type-prod-missing { color: #c62828 !important; opacity: 1 !important; }
.event-type-prod-warn { margin: 0.25rem 0 0.4rem; font-size: 0.78rem; color: #c62828; }
.event-type-picked {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    background: var(--card-bg, #fff);
}
.event-type-picked span { display: flex; flex-direction: column; min-width: 0; }
.event-type-picked small { opacity: 0.75; font-size: 0.78rem; }
.event-type-edit {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    border: 0;
    background: transparent;
    color: inherit;
    opacity: 0.7;
    cursor: pointer;
    touch-action: auto;
    padding: 0.35rem 0.4rem;
}
.event-history-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    border: 1px solid var(--border-color, #eee);
    background: transparent;
    border-radius: 8px;
    padding: 0.45rem 0.55rem;
    margin-bottom: 0.35rem;
    text-align: left;
    cursor: pointer;
    color: var(--text-primary);
}
.event-history-item.active { border-color: var(--primary-color, #c45c6a); background: color-mix(in srgb, var(--primary-color, #c45c6a) 10%, transparent); }
.event-history-item small { color: var(--text-secondary); font-size: 0.72rem; }
.event-history-row {
    display: flex;
    align-items: stretch;
    gap: 0.28rem;
    margin-bottom: 0.35rem;
}
.event-history-row .event-history-item { flex: 1; min-width: 0; margin-bottom: 0; }
.event-history-row.active .event-history-item {
    border-color: var(--primary-color, #c45c6a);
    background: color-mix(in srgb, var(--primary-color, #c45c6a) 10%, transparent);
}
.event-history-edit {
    width: 2rem;
    flex: 0 0 2rem;
    border: 1px solid var(--border-color, #eee);
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
}
.event-history-edit:hover { color: var(--text-primary); background: var(--card-bg, #fff); }
.event-history-add {
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.event-kpi--visit { color: #0f766e; }
.event-visit-log .event-side-head em { font-style: normal; font-size: 0.78rem; opacity: 0.7; }
.event-visit-table-log {
    margin-top: 0.7rem;
    padding-top: 0.65rem;
    border-top: 1px dashed var(--border-color, #ddd);
}
.event-visit-table-log h4 { margin: 0 0 0.25rem; font-size: 0.82rem; }
.event-visit-row {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--border-color, #eee);
    font-size: 0.8rem;
}
.event-visit-row:last-child { border-bottom: 0; }
.event-visit-row span { color: var(--text-secondary); font-size: 0.75rem; }
.event-empty-list { font-size: 0.8rem; color: var(--text-secondary); }
.event-stage { flex: 1; min-width: 0; min-height: 0; position: relative; background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(180deg, #1c1c22 0%, #121216 100%);
}
.event-stage--edit { outline: 2px dashed color-mix(in srgb, var(--primary-color, #c45c6a) 70%, #fff); outline-offset: -6px; }
.event-stage--drop { background: linear-gradient(180deg, #25252d 0%, #16161c 100%); }
.event-stage--grid .event-stage-canvas {
    background-image:
        linear-gradient(to right, rgba(255,255,255,.14) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: var(--event-grid-size, 24px) var(--event-grid-size, 24px);
    background-position: var(--event-grid-pad, 24px) var(--event-grid-pad, 24px);
}
.event-stage-canvas { position: relative; width: 100%; height: 100%; min-height: 320px; user-select: none; }
.event-stage-mark {
    position: absolute;
    z-index: 3;
    transform: translate(-50%, -50%);
    pointer-events: none;
    box-sizing: border-box;
}
.event-stage-mark--edit { pointer-events: auto; cursor: move; }
.event-stage-mark-body {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(255, 80, 180, .28), transparent 55%),
        linear-gradient(180deg, #2a2433 0%, #16141c 100%);
    color: #fff8e7;
    border: 2px solid #e2c15a;
    box-shadow: 0 10px 22px rgba(0,0,0,.45), inset 0 0 18px rgba(255, 210, 80, .12);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    text-align: center;
    padding: 0;
    box-sizing: border-box;
    font-weight: 800;
    letter-spacing: .04em;
    overflow: visible;
}
.event-stage-truss {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    gap: 0.15rem;
    padding: 0.28rem 0.45rem 0.18rem;
    background: linear-gradient(180deg, #1a1a22 0%, #111118 100%);
    border-bottom: 1px solid rgba(226, 193, 90, .45);
    overflow: visible;
}
.event-stage-bulb {
    display: inline-block;
    width: 0.72rem;
    height: 0.72rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor, 0 8px 12px currentColor;
    opacity: 1;
    -webkit-animation: event-stage-glow .9s step-end infinite;
    animation: event-stage-glow .9s step-end infinite;
}
.event-stage-bulb.c1 { color: #ff4d6d; }
.event-stage-bulb.c2 { color: #5ce1ff; -webkit-animation-delay: .12s; animation-delay: .12s; }
.event-stage-bulb.c3 { color: #ffe066; -webkit-animation-delay: .24s; animation-delay: .24s; }
.event-stage-bulb.c4 { color: #ffffff; -webkit-animation-delay: .36s; animation-delay: .36s; }
.event-stage-bulb.c5 { color: #c084fc; -webkit-animation-delay: .48s; animation-delay: .48s; }
.event-stage-bulb.c6 { color: #4ade80; -webkit-animation-delay: .6s; animation-delay: .6s; }
.event-stage-bulb.c7 { color: #fb923c; -webkit-animation-delay: .72s; animation-delay: .72s; }
@-webkit-keyframes event-stage-glow {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: .12; }
}
@keyframes event-stage-glow {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: .12; }
}
.event-stage-deck {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.2rem 0.4rem 0.28rem;
}
.event-stage-speaker {
    width: 12%;
    min-width: 16px;
    max-width: 28px;
    height: 72%;
    border-radius: 4px;
    background:
        radial-gradient(circle at 50% 32%, #9aa0a8 0 18%, transparent 19%),
        radial-gradient(circle at 50% 68%, #9aa0a8 0 22%, transparent 23%),
        linear-gradient(90deg, #3a3a44, #1a1a20);
    border: 1px solid #6b7280;
    box-shadow: inset 0 0 0 2px #111;
    flex-shrink: 0;
}
.event-stage-mark-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.08rem;
    color: #fff8e7;
    text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
.event-stage-mark-copy i { font-size: 0.95rem; }
.event-stage-mark-copy span {
    font-size: 0.72rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.event-page--print .event-stage-bulb,
.event-print-anon .event-stage-bulb {
    -webkit-animation: none;
    animation: none;
    opacity: 1;
}
.event-type-chip--stage {
    margin-bottom: 0.5rem;
    background: linear-gradient(180deg, #fff8dc 0%, #f0d58a 100%);
    color: #3b2a08;
    border: 1px solid #c9a227;
    cursor: grab;
}
.event-type-chip--stage .event-type-meta,
.event-type-chip--stage .event-type-meta strong,
.event-type-chip--stage .event-type-meta small {
    color: #3b2a08;
    opacity: 1;
}
.event-type-chip--stage.event-type-chip--on { box-shadow: 0 0 0 2px rgba(201, 162, 39, .45); }
.event-type-swatch--stage {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #c9a227 !important;
    color: #2a1c06;
}
.event-stage > .event-floor-dock {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 22;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    pointer-events: none;
}
.event-stage > .event-floor-dock .event-floor-today,
.event-stage > .event-floor-dock .event-res-finder {
    pointer-events: auto;
}
.event-stage > .event-floor-dock .event-res-finder {
    position: static;
    right: auto;
    bottom: auto;
}
.event-stage > .event-floor-dock .event-res-finder-btn {
    height: 3.15rem;
    min-height: 3.15rem;
    padding: 0 0.9rem;
    box-sizing: border-box;
}
.event-modal .event-date-input,
.event-modal .event-artist-input,
.event-modal .event-note-input {
    width: 100%;
    min-width: 0;
    flex: none;
}
.event-snap-guide {
    position: absolute;
    pointer-events: none;
    z-index: 8;
}
.event-snap-guide--v {
    top: 0;
    bottom: 0;
    width: 0;
    border-left: 1px solid #5eead4;
    box-shadow: 0 0 0 1px rgba(94, 234, 212, 0.35);
}
.event-snap-guide--h {
    left: 0;
    right: 0;
    height: 0;
    border-top: 1px solid #5eead4;
    box-shadow: 0 0 0 1px rgba(94, 234, 212, 0.35);
}
.event-stage-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.55);
    text-align: center;
    padding: 1.5rem;
    pointer-events: none;
}
.event-table {
    position: absolute;
    box-sizing: border-box;
    width: calc(var(--event-table-w, 86) * 1px);
    height: calc(var(--event-table-h, 86) * 1px);
    border: 0;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(0,0,0,.28);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    cursor: pointer;
    touch-action: none;
    padding: 4px;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    /* dokunmatikte `button:hover { transform: none }` merkeze almayı bozmasın */
    transform: translate(-50%, -50%);
}
.event-table:not(.event-table--pop) {
    transform: translate(-50%, -50%) !important;
}
.event-table:hover,
.event-table:focus,
.event-table:active {
    transform: translate(-50%, -50%);
}
.event-table:not(.event-table--pop):hover,
.event-table:not(.event-table--pop):focus,
.event-table:not(.event-table--pop):active {
    transform: translate(-50%, -50%) !important;
}
.event-table--pop {
    animation: event-table-boink 0.32s cubic-bezier(.2, 1.35, .32, 1);
}
@keyframes event-table-boink {
    0% { transform: translate(-50%, -50%) scale(0.32); opacity: 0.4; }
    70% { transform: translate(-50%, -50%) scale(1.08); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
.event-drag-ghost {
    position: fixed;
    z-index: 240;
    left: 0;
    top: 0;
    pointer-events: none;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0,0,0,.42);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.78rem;
    text-align: center;
    padding: 4px;
    transform: translate(-50%, -50%) scale(0.94);
    opacity: 0.9;
    letter-spacing: 0.02em;
}
.event-drag-ghost--ready {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 0 2px rgba(255,255,255,.55), 0 12px 28px rgba(0,0,0,.45);
}
.event-table--edit { cursor: grab; }
.event-table-no { font-weight: 800; font-size: 1.05rem; line-height: 1; }
.event-table--tiny .event-table-no { font-size: 0.78rem; }
.event-table--tiny .event-table-price,
.event-table--tiny .event-table-guest { font-size: 0.55rem; max-width: 52px; }
.event-table--tiny .event-table-dolu { font-size: 0.58rem; padding: 0 4px; }
.event-table-bos {
    background: rgba(255,255,255,.16) !important;
    font-weight: 700;
    letter-spacing: 0.06em;
}
.event-table-price,
.event-table-guest { font-size: 0.68rem; opacity: 0.92; max-width: 92%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-table-pax,
.event-table-amount {
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.15;
    max-width: 96%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.event-table-amount { font-variant-numeric: tabular-nums; }
.event-table--tiny .event-table-pax,
.event-table--tiny .event-table-amount { font-size: 0.52rem; }
.event-table--merged { border-radius: 14px; }
.event-table-handle {
    position: absolute;
    z-index: 5;
    background: #fff;
    border: 2px solid var(--primary-color, #c45c6a);
    box-sizing: border-box;
    touch-action: none;
}
.event-table-handle--e {
    right: -6px;
    top: 50%;
    width: 10px;
    height: 18px;
    transform: translateY(-50%);
    cursor: ew-resize;
}
.event-table-handle--w {
    left: -6px;
    top: 50%;
    width: 10px;
    height: 18px;
    transform: translateY(-50%);
    cursor: ew-resize;
}
.event-table-handle--s {
    bottom: -6px;
    left: 50%;
    width: 18px;
    height: 10px;
    transform: translateX(-50%);
    cursor: ns-resize;
}
.event-table-handle--n {
    top: -6px;
    left: 50%;
    width: 18px;
    height: 10px;
    transform: translateX(-50%);
    cursor: ns-resize;
}
.event-table-handle--se {
    right: -6px;
    bottom: -6px;
    width: 12px;
    height: 12px;
    cursor: nwse-resize;
}
.event-table-handle--sw {
    left: -6px;
    bottom: -6px;
    width: 12px;
    height: 12px;
    cursor: nesw-resize;
}
.event-table-handle--ne {
    right: -6px;
    top: -6px;
    width: 12px;
    height: 12px;
    cursor: nesw-resize;
}
.event-table-handle--nw {
    left: -6px;
    top: -6px;
    width: 12px;
    height: 12px;
    cursor: nwse-resize;
}
.event-expected-ciro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 1.15rem 0.75rem;
    background: #e8f5e9;
    border-top: 1px solid rgba(46, 125, 50, .22);
    flex: 0 0 auto;
}
.event-expected-ciro span {
    font-size: 0.9rem;
    font-weight: 700;
    color: #2e7d32;
}
.event-expected-ciro strong {
    font-size: 1.7rem;
    font-weight: 800;
    color: #1b5e20;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.theme-dark .event-expected-ciro {
    background: rgba(46, 125, 50, .18);
    border-top-color: rgba(129, 199, 132, .28);
}
.theme-dark .event-expected-ciro span,
.theme-dark .event-expected-ciro strong { color: #81c784; }
.tables-view > .event-floor-dock {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 60;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    pointer-events: none;
    overflow: visible;
}
.tables-view > .event-floor-dock.event-floor-dock--lift {
    bottom: 7.25rem;
}
.event-floor-today,
.tables-view > .event-floor-dock .event-res-finder {
    pointer-events: auto;
}
.event-floor-today {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: stretch;
}
.event-floor-stat {
    min-width: 6.6rem;
    height: 3.15rem;
    padding: 0.32rem 0.72rem;
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border: 1px solid var(--border-color, #e0e0e0);
    box-shadow: 0 2px 8px rgba(0,0,0,.16);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.06rem;
    text-align: left;
    box-sizing: border-box;
}
.event-floor-stat span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    opacity: .65;
    line-height: 1;
}
.event-floor-stat strong {
    font-size: 0.98rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}
.event-floor-stat--closed {
    cursor: pointer;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-color: var(--border-color, #e0e0e0);
}
.event-floor-stat--closed span,
.event-floor-stat--closed strong { color: inherit; opacity: 1; }
.event-floor-stat--closed span { opacity: .65; }
.event-floor-stat--open strong { color: #c62828; }
.event-floor-stat--closed strong { color: #2e7d32; }
.event-floor-stat--occ strong { color: #2e7d32; }
.event-floor-stat--res strong { color: #ef6c00; }
.event-floor-stat--pax strong { color: #1565c0; }
.event-floor-stat--closed:hover,
.event-floor-stat--closed:focus {
    filter: brightness(1.06);
}
.tables-view > .event-floor-dock .event-res-finder {
    position: relative;
    right: auto;
    bottom: auto;
    z-index: 70;
    margin-left: auto;
    align-self: flex-end;
    overflow: visible;
}
.tables-view > .event-floor-dock .event-res-finder-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.45rem);
    z-index: 80;
}
.tables-view > .event-floor-dock .event-res-finder-btn {
    height: 3.15rem;
    min-height: 3.15rem;
    padding: 0 0.9rem;
    font-size: 0.8rem;
    box-sizing: border-box;
}
.event-floor-closed-modal {
    position: fixed;
    inset: 0;
    z-index: 2400;
    background: rgba(0,0,0,.42);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}
.event-floor-closed-box {
    width: min(64rem, calc(100vw - 2rem));
    height: min(78vh, 640px);
    display: flex;
    flex-direction: column;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-radius: var(--border-radius);
    box-shadow: 0 12px 36px rgba(0,0,0,.28);
    overflow: hidden;
    border: 1px solid var(--border-color, #e0e0e0);
}
.event-floor-closed-head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 0.9rem;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    background: var(--category-bg, var(--primary));
    color: var(--white);
}
.event-floor-closed-head h3 {
    margin: 0;
    font-size: 1rem;
    flex: 1;
    color: inherit;
}
.event-floor-closed-head em {
    font-style: normal;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #c8e6c9;
}
.event-floor-closed-head .modal-close {
    color: inherit;
}
.event-floor-closed-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: row;
}
.event-floor-closed-list {
    flex: 0 0 18.5rem;
    overflow: auto;
    padding: 0.55rem;
    border-right: 1px solid var(--border-color, #e0e0e0);
}
.event-floor-closed-item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.6rem;
    margin-bottom: 0.3rem;
    border: 1px solid var(--border-color, #e8e8e8);
    border-radius: 8px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
}
.event-floor-closed-item.is-active {
    border-color: #2e7d32;
    background: color-mix(in srgb, #2e7d32 12%, var(--card-bg, #fff));
}
.event-floor-closed-item:last-child { margin-bottom: 0; }
.event-floor-closed-item-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.event-floor-closed-item-main strong {
    font-size: 0.92rem;
}
.event-floor-closed-meta {
    font-size: 0.78rem;
    opacity: .65;
}
.event-floor-closed-amt {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.event-floor-closed-empty {
    margin: 1rem 0.4rem;
    text-align: center;
    opacity: .65;
}
.event-floor-closed-detail {
    flex: 1;
    min-width: 0;
    overflow: auto;
    padding: 0.7rem 0.75rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    background: #f4f5f7;
}
.event-floor-closed-detail > .sale-detail-card,
.event-floor-closed-detail > .sale-detail-meta-card {
    margin: 0;
}
.event-floor-closed-detail > .sale-detail-empty,
.event-floor-closed-detail > .sale-detail-loading {
    margin: auto;
    text-align: center;
}
.theme-dark .event-floor-stat {
    background: var(--card-bg, #2a2a2a);
}
.theme-dark .event-floor-closed-item {
    border-color: rgba(255,255,255,.12);
}
.theme-dark .event-floor-closed-item.is-active {
    background: color-mix(in srgb, #81c784 16%, var(--card-bg, #2a2a2a));
}
.theme-dark .event-floor-closed-head em { color: #81c784; }
.theme-dark .event-floor-closed-list {
    border-right-color: rgba(255,255,255,.12);
}
.theme-dark .event-floor-closed-detail {
    background: rgba(0,0,0,.22);
}
.theme-dark .event-floor-stat--open strong { color: #ef9a9a; }
.theme-dark .event-floor-stat--closed strong,
.theme-dark .event-floor-stat--occ strong { color: #81c784; }
.theme-dark .event-floor-stat--res strong { color: #ffb74d; }
.theme-dark .event-floor-stat--pax strong { color: #64b5f6; }
.event-res-finder {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 22;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
    pointer-events: auto;
}
.tables-view > .event-res-finder {
    right: 1rem;
    bottom: 1rem;
    z-index: 60;
}
.tables-view > .event-res-finder.event-res-finder--lift {
    bottom: 7.25rem;
}
.event-res-finder-panel {
    width: min(23.5rem, calc(100vw - 2rem));
    max-height: min(56vh, 440px);
    display: flex;
    flex-direction: column;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-radius: var(--border-radius);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    overflow: hidden;
    border: 1px solid var(--border-color, #e0e0e0);
}
.event-res-finder-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    background: var(--category-bg, var(--primary));
    color: var(--white);
    font-size: 0.8rem;
    font-weight: 700;
}
.event-res-finder-head em {
    font-style: normal;
    min-width: 1.4rem;
    padding: 0.08rem 0.42rem;
    border-radius: var(--border-radius);
    background: rgba(255,255,255,.18);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.event-res-finder-search-wrap {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.5rem 0.65rem 0.35rem;
    padding: 0 0.55rem;
    height: 2rem;
    border: 1px solid var(--border-color, #ddd);
    border-radius: var(--border-radius);
    background: var(--input-bg, #fff);
}
.event-res-finder-search-wrap i {
    color: var(--text-secondary, #888);
    font-size: 0.78rem;
}
.event-res-finder-search {
    flex: 1;
    width: 100%;
    border: 0;
    padding: 0;
    height: 100%;
    font-size: 0.82rem;
    background: transparent;
    color: inherit;
    outline: none;
}
.event-res-finder-print {
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary, #666);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.event-res-finder-print:hover,
.event-res-finder-print:focus {
    color: var(--category-bg, var(--primary, #c62828));
    background: color-mix(in srgb, var(--category-bg, var(--primary)) 12%, transparent);
}
.event-res-finder-print:disabled { opacity: .45; cursor: default; }
.event-res-list-preview {
    position: fixed;
    inset: 0;
    z-index: 5200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.45);
    padding: 1rem;
}
.event-res-list-preview-box {
    width: min(26rem, 96vw);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    color: #111;
    border-radius: var(--border-radius, 10px);
    box-shadow: 0 12px 40px rgba(0,0,0,.28);
    overflow: hidden;
}
.event-res-list-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .7rem .9rem;
    border-bottom: 1px solid #e6e6e6;
}
.event-res-list-preview-head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}
.event-res-list-preview-frame {
    width: 100%;
    height: min(62vh, 520px);
    border: 0;
    background: #f4f4f4;
}
.event-res-list-preview-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: .7rem .9rem;
    border-top: 1px solid #e6e6e6;
}
.theme-dark .event-res-list-preview-box {
    background: var(--card-bg, #242424);
    color: var(--text-primary, #eee);
}
.theme-dark .event-res-list-preview-head,
.theme-dark .event-res-list-preview-actions {
    border-color: rgba(255,255,255,.12);
}
.event-res-finder-list {
    overflow-y: auto;
    max-height: min(42vh, 340px);
    padding: 0.25rem 0.5rem 0.55rem;
}
.event-res-finder-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    text-align: left;
    padding: 0.48rem 0.55rem;
    margin-bottom: 0.3rem;
    border: 1px solid var(--border-color, #eee);
    border-radius: var(--border-radius);
    background: var(--card-bg, #fff);
    color: inherit;
    cursor: pointer;
}
.event-res-finder-item:last-child { margin-bottom: 0; }
.event-res-finder-item:hover,
.event-res-finder-item:focus {
    background: color-mix(in srgb, var(--category-bg, var(--primary)) 12%, #fff);
    border-color: color-mix(in srgb, var(--category-bg, var(--primary)) 45%, #ccc);
}
.event-res-finder-item-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.12rem;
    min-width: 0;
    flex: 1;
}
.event-res-finder-item strong {
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.2;
}
.event-res-finder-pax {
    font-size: 0.72rem;
    color: var(--text-secondary);
    font-weight: 600;
}
.event-res-finder-table {
    flex-shrink: 0;
    padding: 0.18rem 0.45rem;
    border-radius: var(--border-radius);
    background: var(--lighter-gray, #f3f3f3);
    color: var(--text-primary);
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}
.event-res-finder-empty {
    margin: 0;
    padding: 0.7rem 0.4rem;
    color: var(--text-secondary);
    font-size: 0.82rem;
    text-align: center;
}
.event-res-finder-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 0;
    border-radius: var(--border-radius);
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    background: var(--category-bg, var(--primary));
    color: var(--white);
    box-shadow: 0 2px 8px rgba(0,0,0,.16);
    cursor: pointer;
    white-space: nowrap;
}
.event-res-finder-btn:hover {
    background: color-mix(in srgb, var(--category-bg, var(--primary)) 85%, #000);
}
.event-res-finder-btn.active {
    background: var(--category-active-bg, var(--primary-second));
}
.theme-dark .event-res-finder-panel {
    background: var(--card-bg, #2a2a2a);
    border-color: rgba(255,255,255,.12);
}
.theme-dark .event-res-finder-search-wrap {
    background: var(--input-bg, #1e1e1e);
    border-color: rgba(255,255,255,.14);
}
.theme-dark .event-res-finder-item {
    background: var(--card-bg, #2a2a2a);
    border-color: rgba(255,255,255,.1);
}
.theme-dark .event-res-finder-item:hover,
.theme-dark .event-res-finder-item:focus {
    background: color-mix(in srgb, var(--category-bg, var(--primary)) 22%, #2a2a2a);
}
.theme-dark .event-res-finder-table {
    background: rgba(255,255,255,.08);
}
@keyframes event-find-blink {
    0%, 100% { opacity: 1; }
    45% { opacity: 0.12; }
}
.event-table--find,
.tables-event-floor .table-card.table-card--find {
    animation: event-find-blink 0.4s ease-in-out 3;
    z-index: 6;
    outline: 3px solid #fff;
    outline-offset: 2px;
}
.event-table-dolu {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    background: rgba(0,0,0,.35);
    padding: 1px 6px;
    border-radius: 999px;
}
.event-table--occupied { box-shadow: 0 0 0 3px rgba(198,40,40,.85), 0 6px 16px rgba(0,0,0,.28); }
.event-table--reserved { box-shadow: 0 0 0 3px rgba(255,255,255,.55), 0 6px 16px rgba(0,0,0,.28); }
.event-table--selected {
    box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--primary-color, #c45c6a), 0 6px 16px rgba(0,0,0,.28);
    z-index: 3;
}
.event-marquee {
    position: absolute;
    z-index: 4;
    pointer-events: none;
    border: 1.5px dashed color-mix(in srgb, var(--primary-color, #c45c6a) 85%, #fff);
    background: color-mix(in srgb, var(--primary-color, #c45c6a) 22%, transparent);
    border-radius: 4px;
}
.event-table-del,
.event-table-rename {
    position: absolute;
    top: -8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    cursor: pointer;
}
.event-table-del {
    right: -8px;
    background: #c62828;
    font-size: 16px;
    line-height: 20px;
}
.event-table-rename {
    left: -8px;
    background: rgba(0,0,0,.72);
    font-size: 11px;
    line-height: 22px;
}
.event-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 10040;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.event-modal {
    width: min(420px, 100%);
    max-height: min(88vh, 720px);
    overflow: auto;
    background: var(--card-bg, #fff);
    color: var(--text-primary);
    border-radius: 12px;
    padding: 1rem 1.1rem 0.9rem;
    box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.event-modal--flyer {
    width: min(420px, 100%);
}
.event-flyer-block {
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.7rem 0.15rem;
    border-radius: 10px;
    background: var(--bg-secondary, #f4f4f6);
}
.event-flyer-block h4 {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-secondary);
}
.event-modal--flyer .event-iban-input {
    height: 2.15rem;
    min-height: 2.15rem;
    max-height: 2.15rem;
    flex: 0 0 auto;
}
.event-modal--visits {
    width: min(440px, 100%);
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 640px);
}
.event-visit-modal-list {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
    margin: 0 0 0.35rem;
}
.event-modal--res {
    width: min(540px, 100%);
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 760px);
    padding-bottom: 0;
    overflow: hidden;
}
.event-modal--res > h3,
.event-modal--res > .event-modal-sub { flex-shrink: 0; }
.event-res-body {
    overflow: auto;
    min-height: 0;
    flex: 1 1 auto;
}
.event-res-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    padding: 0.75rem 0 0.95rem;
    margin-top: 0.25rem;
    border-top: 1px solid var(--border-color, #e0e0e0);
    flex: 0 0 auto;
}
.event-res-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.4rem;
    width: 100%;
    border: 0;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.86rem;
    cursor: pointer;
    padding: 0 0.6rem;
}
.event-res-btn--save {
    background: var(--primary-color, #c45c6a);
    color: #fff;
}
.event-res-btn--save:hover { filter: brightness(0.96); }
.event-res-btn--danger {
    background: #fdecea;
    color: #c62828;
}
.event-res-btn--ghost {
    background: var(--bg-secondary, #f4f4f6);
    color: var(--text-primary);
}
.theme-dark .event-res-btn--danger { background: rgba(198, 40, 40, .22); }
.theme-dark .event-res-btn--ghost { background: rgba(255,255,255,.08); }
.event-res-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
    margin-bottom: 0.55rem;
}
.event-res-block {
    background: var(--bg-secondary, #f4f4f6);
    border-radius: 10px;
    padding: 0.6rem 0.7rem 0.25rem;
}
.event-res-block h4 {
    margin: 0 0 0.4rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}
.event-res-block--deposit {
    border: 1px solid rgba(46, 125, 50, .28);
}
.event-res-remain-hint {
    margin: 0.35rem 0 0.45rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #2e7d32;
}
.event-res-clear-kapora {
    margin-top: 0.45rem;
    width: 100%;
    justify-content: center;
}
.event-res-cleared {
    margin: 0.5rem 0 0;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    background: rgba(198, 40, 40, .08);
    color: #b71c1c;
    font-size: 0.78rem;
    font-weight: 600;
}
.theme-dark .event-res-cleared {
    background: rgba(239, 154, 154, .12);
    color: #ef9a9a;
}
@media (max-width: 560px) {
    .event-res-grid { grid-template-columns: 1fr; }
}
.event-modal h3 { margin: 0 0 0.75rem; font-size: 1.05rem; }
.event-modal-sub { margin: -0.4rem 0 0.7rem; color: var(--text-secondary); font-size: 0.82rem; }
.event-res-money {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
    margin: 0 0 0.8rem;
}
.event-res-money div {
    background: var(--bg-secondary, #f4f4f6);
    border-radius: 8px;
    padding: 0.4rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.event-res-money span { font-size: 0.68rem; color: var(--text-secondary); }
.event-res-money strong { font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.event-modal label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.8rem; margin-bottom: 0.55rem; }
.event-modal input,
.event-modal select,
.event-modal textarea {
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    padding: 0.4rem 0.5rem;
    background: var(--input-bg, #fff);
    color: inherit;
    box-sizing: border-box;
}
.event-modal input,
.event-modal select {
    height: 2.15rem;
    min-height: 2.15rem;
    max-height: 2.15rem;
}
.event-check { flex-direction: row !important; align-items: center; gap: 0.45rem !important; }
.event-switch-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem !important;
    margin-bottom: 0.5rem;
    cursor: pointer;
}
.event-modal-actions { display: flex; gap: 0.45rem; align-items: center; margin-top: 0.4rem; }
.theme-dark .event-header,
.theme-dark .event-flyer-bar,
.theme-dark .event-sidebar,
.theme-dark .event-editor-bar,
.theme-dark .event-layout-toolbar,
.theme-dark .event-print-toolbar { background: var(--card-bg); }
.theme-dark .event-stage-tabs-bar {
    background: #1f2329;
    border-bottom-color: #2a3038;
}
.theme-dark .event-stage-tab { color: #94a3b8; }
.theme-dark .event-stage-tab:hover {
    color: #e5e7eb;
    background: rgba(255, 255, 255, 0.06);
}
.theme-dark .event-stage-tab.active {
    background: var(--card-bg, #1a1e24);
    color: #fff;
}
.theme-dark .event-stage-tab-sep { background: rgba(255,255,255,.14); }
.theme-dark .event-stage-toolbar { border-left-color: rgba(255,255,255,.1); }
.theme-dark .event-stage-tabs-bar--edit {
    background: #15151a;
}
.theme-dark .event-page-wrapper,
.theme-dark .event-page { background: var(--bg-secondary, #1a1a1a); }

@media print {
    @page { size: A4 landscape; margin: 8mm; }
    html, body, #app {
        background: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        height: auto !important;
        overflow: visible !important;
        color: #111 !important;
    }
    body * { visibility: hidden !important; }
    .event-page-wrapper,
    .event-page-wrapper *,
    .event-page,
    .event-page * { visibility: visible !important; }
    .event-header,
    .event-flyer-bar,
    .event-edit-bar,
    .event-sidebar,
    .event-editor-bar,
    .event-layout-toolbar,
    .event-stage-tabs,
    .event-stage-tabs-bar,
    .event-stage-toolbar,
    .event-print-toolbar,
    .event-modal-backdrop,
    .event-fix-menu,
    .event-table-del,
    .event-table-rename,
    .event-table-handle,
    .event-expected-ciro,
    .event-res-finder,
    .event-floor-dock,
    .event-floor-closed-modal,
    .event-drag-ghost,
    .event-marquee,
    .event-print-btn,
    .event-loading,
    .event-module-off { display: none !important; visibility: hidden !important; }
    .event-page-wrapper {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
        background: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .event-page,
    .event-shell {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        background: #fff !important;
        color: #111 !important;
        position: relative !important;
    }
    .event-body {
        display: block !important;
        flex: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        width: 100% !important;
        position: relative !important;
        background: #fff !important;
    }
    .event-print-banner {
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: baseline;
        justify-content: space-between;
        color: #111;
        padding: 0 0 3mm;
        font-size: 13pt;
    }
    .event-print-footer {
        display: block !important;
        flex: 0 0 auto !important;
        color: #111;
        border-top: 1px solid #ccc;
        padding: 3mm 0 0;
        margin-top: 3mm;
    }
    .event-print-footer em {
        display: block;
        font-style: normal;
        font-size: 8pt;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        opacity: 0.7;
        margin-bottom: 1mm;
    }
    .event-print-footer p {
        margin: 0;
        font-size: 11pt;
        font-weight: 650;
        line-height: 1.35;
    }
    .event-stage {
        position: relative !important;
        flex: none !important;
        width: 100% !important;
        height: 155mm !important;
        min-height: 155mm !important;
        overflow: hidden !important;
        outline: none !important;
        box-shadow: none !important;
        background: #fff !important;
        display: block !important;
        border: 1px solid #ddd;
    }
    .event-stage-canvas {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        min-height: 0 !important;
        aspect-ratio: unset !important;
        overflow: hidden !important;
        background: #fff !important;
    }
    .event-table {
        position: absolute !important;
        transform: translate(-50%, -50%) !important;
        width: calc(var(--event-table-w, var(--event-table-px, 86)) / var(--event-canvas-w, 1000) * 100%) !important;
        height: calc(var(--event-table-h, var(--event-table-px, 86)) / var(--event-canvas-h, 600) * 100%) !important;
        aspect-ratio: unset !important;
        box-shadow: none !important;
        border: 1px solid rgba(0,0,0,.35) !important;
        overflow: visible !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .event-table-no,
    .event-table-dolu,
    .event-table-guest,
    .event-table-bos,
    .event-table-pax,
    .event-table-amount {
        visibility: visible !important;
        display: block !important;
    }
    .event-table-del,
    .event-table-rename,
    .event-table-handle,
    .event-expected-ciro,
    .event-res-finder,
    .event-floor-dock { display: none !important; }
    .event-stage-mark,
    .event-stage-mark-body,
    .event-stage-truss,
    .event-stage-deck,
    .event-stage-speaker,
    .event-stage-bulb {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        animation: none !important;
    }
}
