:root {
    /* NeoLoyalty (MAUI sadakat teması ile hizalı — Colors.xaml Loyalty*) */
    --nr-bg-page: #faf8f5;
    --nr-border: #e7e5e4;
    --nr-ink: #1c1917;
    --nr-ink-secondary: #44403c;
    --nr-muted: #78716c;
    --nr-card: #fffdf8;
    --nr-card-muted: #f8f1e8;
    --nr-field: #f5f5f4;
    --nr-teal: #6b3d22;
    --nr-teal-accent: #8b5a34;
    --nr-teal-soft: rgba(139, 90, 52, 0.12);
    --nr-amber: #a86a2b;
    --nr-amber-soft: #faf1e6;
}

[data-bs-theme="dark"] {
    --nr-bg-page: #0f1419;
    --nr-border: #1e293b;
    --nr-ink: #f1f5f9;
    --nr-ink-secondary: #e2e8f0;
    --nr-muted: #94a3b8;
    --nr-card: #141b26;
    --nr-card-muted: #1a2332;
    --nr-field: #1e293b;
    --nr-teal: #d8b28a;
    --nr-teal-accent: #e4c4a0;
    --nr-teal-soft: rgba(216, 178, 138, 0.18);
    --nr-amber: #d8b28a;
    --nr-amber-soft: rgba(216, 178, 138, 0.12);
    color-scheme: dark;
}

html, body {
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    background: var(--nr-bg-page);
    color: var(--nr-ink-secondary, #44403c);
    -webkit-font-smoothing: antialiased;
}

[data-bs-theme="dark"] body {
    color: #e2e8f0;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: var(--nr-teal-accent, #0d9488);
    text-decoration: none;
}

a:hover, .btn-link:hover {
    color: #6b3d22;
    text-decoration: underline;
}

.btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--nr-teal, #0f766e) 0%, var(--nr-teal-accent, #0d9488) 100%);
    border: none;
    font-weight: 600;
    border-radius: 14px;
    padding: 0.5rem 1rem;
}

.btn-primary:hover {
    filter: brightness(1.06);
    color: #fff;
}

.btn-primary:active {
    filter: brightness(0.97);
}

.btn-outline-primary {
    border-radius: 10px;
    font-weight: 600;
    border-color: #6b3d22;
    color: #6b3d22;
}

.btn-outline-primary:hover {
    background: var(--nr-teal-soft);
    border-color: #6b3d22;
    color: #8b5a34;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem #fffdf8, 0 0 0 0.22rem rgba(107, 61, 34, 0.28);
}

[data-bs-theme="dark"] .btn:focus,
[data-bs-theme="dark"] .btn:active:focus,
[data-bs-theme="dark"] .btn-link.nav-link:focus,
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem #0f1419, 0 0 0 0.22rem rgba(216, 178, 138, 0.35);
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/* WASM ilk indirme: Blazor'un %99 daire şablonu kaldırıldı; index.html'de .nr-wasm-boot kullanılıyor. */
.nr-wasm-boot {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    background: var(--nr-bg-page, #f0f2f5);
}

.nr-wasm-boot__spinner {
    width: 2.75rem;
    height: 2.75rem;
}

.nr-wasm-boot__text {
    margin: 0;
    font-size: 0.95rem;
    color: var(--nr-muted, #78716c);
    font-weight: 500;
}

code {
    color: #c02d76;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Şeffaf marka PNG — hafif gölge ve hizalama (sidebar / mağaza / ortak) */
.nr-mark-logo {
    object-fit: contain;
    filter: drop-shadow(0 3px 10px rgba(58, 36, 23, 0.11));
}

/* Auth (giriş / kayıt) — kart ortada */
.nr-auth-wrap {
    min-height: min(76vh, 620px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 0 2.5rem;
    background:
        radial-gradient(ellipse 90% 50% at 50% -5%, rgba(168, 106, 43, 0.1), transparent 52%),
        var(--nr-bg-page);
}

.nr-auth-card {
    width: 100%;
    max-width: 400px;
    padding: 2rem 1.85rem 1.75rem;
    background: var(--nr-card, #fff);
    border-radius: 18px;
    border: 1px solid rgba(107, 61, 34, 0.10);
    box-shadow: 0 1px 2px rgba(58, 36, 23, 0.04), 0 8px 28px rgba(58, 36, 23, 0.05);
}

.nr-auth-card .form-control {
    border-radius: 12px;
    border-color: #e8e6e4;
    padding: 0.65rem 0.9rem;
    background: rgba(255, 255, 253, 0.95);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.nr-auth-card .form-control:focus {
    border-color: #a0714a;
    box-shadow: 0 0 0 4px rgba(139, 90, 52, 0.15);
}

.nr-auth-card h1 {
    letter-spacing: -0.035em;
    color: var(--nr-ink, #1c1917);
    font-weight: 700;
}

.nr-auth-card .btn-primary {
    transition: filter 0.15s ease, transform 0.12s ease;
}

.nr-auth-card .btn-primary:hover:not(:disabled) {
    transform: translateY(-0.02rem);
}

.nr-auth-card > p.text-muted a {
    color: var(--nr-teal-accent, #8b5a34);
    text-underline-offset: 0.14em;
}

.nr-auth-card > p.text-muted a:hover {
    color: var(--nr-teal, #6b3d22);
}

[data-bs-theme="dark"] .nr-auth-wrap {
    background:
        radial-gradient(ellipse 90% 50% at 50% -5%, rgba(216, 178, 138, 0.12), transparent 52%),
        var(--nr-bg-page);
}

[data-bs-theme="dark"] .nr-auth-card {
    background: #141a22;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.2),
        0 14px 48px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

[data-bs-theme="dark"] .nr-auth-card h1 {
    color: #f1f5f9;
}

[data-bs-theme="dark"] .nr-auth-card .form-control {
    background: rgba(30, 41, 59, 0.6);
    border-color: rgba(148, 163, 184, 0.22);
    color: #f8fafc;
}

[data-bs-theme="dark"] .nr-auth-card .form-control:focus {
    border-color: rgba(216, 178, 138, 0.55);
    box-shadow: 0 0 0 4px rgba(216, 178, 138, 0.12);
}

[data-bs-theme="dark"] .nr-auth-lead {
    color: #94a3b8;
}

[data-bs-theme="dark"] .nr-auth-logo {
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.35));
}

.nr-auth-wordmark {
    display: block;
    max-width: 220px;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 4px 12px rgba(15, 118, 110, 0.15));
}

/* Giriş / kayıt: şeffaf marka PNG (MAUI neoloyalty_logo ile aynı üretim) */
.nr-auth-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: min(200px, 56vw);
    max-height: 96px;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 16px rgba(58, 36, 23, 0.12));
}

.nr-auth-lead {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--nr-muted, #78716c);
}

/* NeoLoyalty — restoran yönetim paneli */
.nr-page {
    max-width: 1100px;
}

.nr-hero .nr-title {
    font-weight: 600;
    letter-spacing: -0.02em;
}

.nr-back {
    display: inline-block;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
    text-decoration: none;
    color: #6c757d;
}

.nr-back:hover {
    color: #0d6efd;
}

.nr-sub {
    font-size: 0.95rem;
}

.nr-card {
    background: var(--nr-card, #fffdf8);
    border: 1px solid rgba(107, 61, 34, 0.08);
    border-radius: 14px;
    padding: 1.35rem 1.5rem;
    box-shadow: none;
}

.nr-card-muted {
    background: var(--nr-card-muted, #f8f1e8);
}

.nr-card .card-header {
    border-radius: 12px 12px 0 0;
}

.bg-white {
    background-color: var(--nr-card, #fffdf8) !important;
}

.nr-lang {
    position: relative;
    width: 190px;
    max-width: min(190px, 42vw);
    flex: 0 0 auto;
}

.nr-lang__button,
.nr-lang__option {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    border: 1px solid rgba(107, 61, 34, .16);
    background: #fffdf8;
    color: #2b2118;
    border-radius: 14px;
    padding: .58rem .75rem;
    text-align: left;
}

.nr-lang__button strong {
    display: block;
    font-size: .86rem;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nr-lang__button small {
    display: block;
    color: #78716c;
    font-size: .7rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nr-lang__label {
    min-width: 0;
}

.nr-lang__button .bi {
    margin-left: auto;
    color: #8b5a34;
}

.nr-lang__menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + .4rem);
    left: 0;
    right: 0;
    display: grid;
    gap: .3rem;
    padding: .45rem;
    border: 1px solid rgba(107, 61, 34, .14);
    border-radius: 16px;
    background: #fffaf3;
    box-shadow: 0 18px 40px rgba(44, 31, 20, .14);
}

.nr-lang__option {
    border-radius: 12px;
    font-size: .84rem;
    padding: .5rem .6rem;
}

.nr-lang__option.active {
    background: #6b3d22;
    color: #fff;
}

.nr-lang__flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 19px;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, .16);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.nr-lang__flag svg {
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 576px) {
    .nr-lang {
        width: auto;
        max-width: none;
    }

    .nr-lang__button {
        width: auto;
        min-width: 0;
        padding: .5rem .58rem;
    }

    .nr-lang__button small {
        display: none;
    }

    .nr-lang__button strong {
        max-width: 5.5rem;
    }

    .nr-lang__menu {
        left: auto;
        right: 0;
        width: 190px;
    }
}

.btn-nr-primary {
    background: linear-gradient(135deg, #6b3d22 0%, #8b5a34 100%);
    border: none;
    color: #fff;
    border-radius: 10px;
    font-weight: 600;
}

.btn-nr-primary:hover {
    filter: brightness(1.06);
    color: #fff;
}

.btn-nr-outline {
    background: transparent;
    border: 1px solid rgba(107, 61, 34, 0.28);
    color: #6b3d22;
    border-radius: 10px;
    font-weight: 600;
}

.btn-nr-outline:hover {
    background: var(--nr-teal-soft);
    border-color: #6b3d22;
    color: #3d2b1e;
}

.btn-nr-ghost {
    background: transparent;
    border: 1px solid transparent;
    color: #5b4a3d;
    border-radius: 10px;
    font-weight: 600;
}

.btn-nr-ghost:hover {
    background: rgba(107, 61, 34, 0.06);
    color: #3d2b1e;
}

.nr-page-header {
    margin-bottom: 1.5rem;
}

.nr-page-header__title {
    margin: 0 0 0.35rem;
    font-size: clamp(1.35rem, 2.4vw, 1.65rem);
    font-weight: 750;
    letter-spacing: -0.03em;
    color: var(--nr-ink, #1c1917);
    line-height: 1.25;
}

.nr-page-header__lead {
    margin: 0;
    max-width: 40rem;
    font-size: 0.95rem;
    color: var(--nr-muted, #78716c);
}

.nr-page-header__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.nr-table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(107, 61, 34, 0.03);
    border-color: rgba(107, 61, 34, 0.08);
}

.nr-table > :not(caption) > * > * {
    padding: 0.85rem 0.75rem;
    border-bottom-color: rgba(107, 61, 34, 0.08);
    vertical-align: middle;
}

.nr-table thead th {
    font-size: 0.78rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--nr-muted, #78716c);
    border-bottom-width: 1px;
}

.nr-empty {
    text-align: center;
    padding: 2.5rem 1.5rem;
    border: 1px dashed rgba(107, 61, 34, 0.16);
    border-radius: 14px;
    background: rgba(255, 253, 248, 0.65);
}

.nr-empty__title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--nr-ink, #1c1917);
}

.nr-empty__lead {
    margin: 0 0 1.1rem;
    font-size: 0.92rem;
    color: var(--nr-muted, #78716c);
}

.nr-pricing-badge {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    color: #92400e;
    border: 1px solid #f59e0b;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* Abonelik / billing sayfası */
.nr-billing-hero {
    background: linear-gradient(135deg, #fffdf8 0%, #f8f1e8 55%, #faf1e6 100%);
    border: 1px solid rgba(107, 61, 34, 0.12);
    border-radius: 20px;
    padding: 1.75rem 1.75rem 1.5rem;
    margin-bottom: 1.75rem;
    box-shadow: 0 8px 32px rgba(107, 61, 34, 0.06);
}

.nr-billing-hero .nr-title {
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--nr-ink, #1c1917);
    margin-bottom: 0.35rem;
}

.nr-billing-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0;
}

.nr-billing-trust span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b3d22;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(107, 61, 34, 0.14);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
}

.nr-billing-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.nr-billing-info-card {
    background: var(--nr-card, #fffdf8);
    border: 1px solid rgba(107, 61, 34, 0.10);
    border-radius: 16px;
    padding: 1.1rem 1.25rem;
    height: 100%;
}

.nr-billing-info-card .icon-wrap {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--nr-teal-soft);
    color: #6b3d22;
    font-size: 1.1rem;
    margin-bottom: 0.65rem;
}

.nr-billing-info-card h3 {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
    color: var(--nr-ink, #1c1917);
}

.nr-billing-slot-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    background: linear-gradient(90deg, rgba(139, 90, 52, 0.08) 0%, rgba(250, 241, 230, 0.9) 100%);
    border: 1px solid rgba(139, 90, 52, 0.22);
    border-radius: 16px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.75rem;
}

.nr-billing-slot-banner strong {
    font-size: 1.35rem;
    color: #6b3d22;
}

.nr-billing-plans {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    margin-bottom: 2rem;
}

.nr-billing-plan {
    position: relative;
    background: var(--nr-card, #fffdf8);
    border: 1px solid rgba(107, 61, 34, 0.12);
    border-radius: 20px;
    padding: 1.5rem 1.5rem 1.35rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.nr-billing-plan:hover {
    box-shadow: 0 12px 40px rgba(107, 61, 34, 0.10);
    transform: translateY(-2px);
}

.nr-billing-plan.is-featured {
    border-color: rgba(139, 90, 52, 0.35);
    box-shadow: 0 8px 28px rgba(107, 61, 34, 0.08);
}

.nr-billing-plan.is-featured::before {
    content: "En avantajlı";
    position: absolute;
    top: -0.65rem;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #6b3d22 0%, #8b5a34 100%);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.28rem 0.85rem;
    border-radius: 999px;
    white-space: nowrap;
}

.nr-billing-plan-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.nr-billing-plan-name {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--nr-ink, #1c1917);
    margin: 0;
}

.nr-billing-plan-period {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--nr-muted, #78716c);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nr-billing-price-block {
    margin: 1rem 0 1.1rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(107, 61, 34, 0.08);
    border-bottom: 1px solid rgba(107, 61, 34, 0.08);
}

.nr-billing-price-old {
    font-size: 0.95rem;
    color: #a8a29e;
    text-decoration: line-through;
    margin-bottom: 0.15rem;
}

.nr-billing-price-main {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #1c1917;
    line-height: 1.1;
}

.nr-billing-price-main small {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--nr-muted, #78716c);
    margin-left: 0.35rem;
}

.nr-billing-price-sub {
    font-size: 0.82rem;
    color: var(--nr-muted, #78716c);
    margin-top: 0.35rem;
}

.nr-billing-breakdown {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    font-size: 0.84rem;
}

.nr-billing-breakdown li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
    color: #57534e;
}

.nr-billing-breakdown li.total {
    font-weight: 700;
    color: #1c1917;
    border-top: 1px dashed rgba(107, 61, 34, 0.18);
    margin-top: 0.35rem;
    padding-top: 0.65rem;
}

.nr-billing-features {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    flex: 1;
}

.nr-billing-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.84rem;
    color: #44403c;
    margin-bottom: 0.45rem;
}

.nr-billing-features li i {
    color: #8b5a34;
    margin-top: 0.12rem;
}

.nr-billing-cta {
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 14px;
    font-weight: 700;
    font-size: 0.95rem;
}

.nr-billing-vat-note {
    font-size: 0.82rem;
    color: var(--nr-muted, #78716c);
    background: rgba(255, 255, 255, 0.6);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    margin-bottom: 1.75rem;
    border: 1px solid rgba(107, 61, 34, 0.08);
}

.nr-billing-history {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(107, 61, 34, 0.10);
    background: var(--nr-card, #fffdf8);
}

.nr-billing-history .table {
    margin-bottom: 0;
    font-size: 0.86rem;
}

.nr-billing-history thead th {
    background: #f8f1e8;
    border-bottom: 1px solid rgba(107, 61, 34, 0.12);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #78716c;
    padding: 0.85rem 1rem;
}

.nr-billing-history tbody td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
}

.nr-billing-status {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
}

.nr-billing-status.is-paid { background: #dcfce7; color: #166534; }
.nr-billing-status.is-consumed { background: #dbeafe; color: #1e40af; }
.nr-billing-status.is-pending { background: #fef9c3; color: #854d0e; }
.nr-billing-status.is-failed { background: #fee2e2; color: #991b1b; }
.nr-billing-status.is-muted { background: #f5f5f4; color: #57534e; }
.nr-billing-status.is-other { background: #f5f5f4; color: #57534e; }

.nr-billing-history-section {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(107, 61, 34, 0.10);
}

.nr-billing-history-toolbar .form-select {
    border-radius: 10px;
}

.nr-billing-history.empty-state {
    border: 1px dashed rgba(107, 61, 34, 0.18);
    border-radius: 16px;
    background: rgba(255, 253, 248, 0.8);
}

.nr-pills .nav-link {
    border-radius: 999px;
    padding: 0.5rem 0.95rem;
    color: #5b4a3d;
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid transparent;
    background: transparent;
    box-shadow: none;
    font-weight: 650;
    letter-spacing: -0.01em;
    transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
}

.nr-pills .nav-link:hover {
    color: #3d2b1e;
    background: rgba(107, 61, 34, 0.06);
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.nr-pills .nav-link .bi {
    font-size: 0.95rem;
    opacity: 0.88;
}

.nr-pills .nav-link.active .bi {
    opacity: 1;
}

.nr-pills .nav-link.active {
    background: rgba(107, 61, 34, 0.12);
    color: #3d2b1e;
    border-color: rgba(107, 61, 34, 0.14);
    box-shadow: none;
    font-weight: 750;
}

.nr-pills .nav-link:disabled,
.nr-pills .nav-link.disabled {
    opacity: 0.45;
}

/* Restoran içi sekme satırı (Kategoriler / Ürünler) */
.nr-subtabs.nav-tabs {
    gap: 0.35rem;
    border-bottom: 1px solid #ead8c6;
}

.nr-subtabs .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid transparent;
    border-radius: 13px 13px 0 0;
    color: #7a6656;
    font-weight: 750;
    letter-spacing: -0.01em;
    padding: 0.66rem 1.08rem;
    transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.nr-subtabs .nav-link:hover {
    color: #4d3221;
    background: rgba(139, 90, 52, 0.10);
    border-color: #ead8c6;
}

.nr-subtabs .nav-link.active {
    color: #4d2f1d;
    font-weight: 800;
    background: var(--nr-card, #fffdf8);
    border: 1px solid #eadfd5;
    border-bottom-color: var(--nr-card, #fffdf8);
    margin-bottom: -1px;
    box-shadow: 0 -3px 14px rgba(89, 61, 38, 0.06);
}

.nr-subtabs .nav-link .bi {
    font-size: 0.95rem;
}

/* Sadakat sekmesi içinde gömülü alt paneller */
.loyalty-directory-embed {
    margin-top: 0;
}

.loyalty-push-embed {
    margin-bottom: 0;
}

.nr-header-logo {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.nr-table-thumb {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    object-fit: cover;
    vertical-align: middle;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.nr-menu-item-thumb {
    width: 56px;
    height: 56px;
    min-width: 56px;
    max-width: 56px;
    min-height: 56px;
    max-height: 56px;
    border-radius: 12px;
    overflow: hidden;
    flex: 0 0 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #fff8ef 0%, #f3e6d6 100%);
    border: 1px solid #ead9c6;
    font-size: 1.35rem;
    line-height: 1;
}

.nr-menu-item-thumb img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: cover !important;
    object-position: center;
    display: block;
}

/* Menü ürün görselleri asla kartı/şişirmesin */
img.nr-menu-item-img,
.public-menu-item img,
.nr-menu-item-thumb img {
    object-fit: cover !important;
}

.nr-menu-item-thumb--sm {
    width: 36px;
    height: 36px;
    min-width: 36px;
    max-width: 36px;
    min-height: 36px;
    max-height: 36px;
    flex-basis: 36px;
    border-radius: 9px;
    font-size: 1rem;
}

.nr-menu-item-thumb--sm img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
}

.nr-header-logo--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #6b3d22 0%, #a86a2b 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.25rem;
}

.nr-preview-tile {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.nr-preview-logo {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.nr-preview-placeholder {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    background: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    color: #6c757d;
}

/* İlk yüklemede Router'ı geciktir; localStorage JS hazır olana kadar beklenir (%99 takılmasını önler). */
.nr-boot-splash {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.nr-boot-splash__inner {
    text-align: center;
    max-width: 320px;
}

.nr-sales-product-list {
    max-height: min(420px, 55vh);
    overflow-y: auto;
    background: #fafbfc;
}

.nr-sales-product-row:last-child {
    border-bottom: none !important;
}

.nr-sales-qty {
    width: 4.25rem;
}

.nr-sales-totals {
    border-color: rgba(0, 0, 0, 0.08) !important;
}

/* Karanlık mod — kartlar, sekmeler, satış listesi */
[data-bs-theme="dark"] .nr-card {
    background: #141b26;
    border-color: #1e293b;
    box-shadow: none;
    color: #e2e8f0;
}

[data-bs-theme="dark"] .nr-page-header__title {
    color: #f1f5f9;
}

[data-bs-theme="dark"] .nr-empty {
    background: rgba(20, 27, 38, 0.7);
    border-color: #334155;
}

[data-bs-theme="dark"] .nr-empty__title {
    color: #f1f5f9;
}

[data-bs-theme="dark"] .btn-nr-outline {
    border-color: rgba(216, 178, 138, 0.35);
    color: #d8b28a;
}

[data-bs-theme="dark"] .btn-nr-outline:hover {
    background: rgba(216, 178, 138, 0.14);
    color: #fff7ed;
}

[data-bs-theme="dark"] .btn-nr-ghost {
    color: #d6cec7;
}

[data-bs-theme="dark"] .btn-nr-ghost:hover {
    background: rgba(216, 178, 138, 0.12);
    color: #fff7ed;
}

[data-bs-theme="dark"] .nr-card-muted {
    background: #1a2332;
}

[data-bs-theme="dark"] .nr-pills .nav-link:not(.active) {
    color: #94a3b8;
}

[data-bs-theme="dark"] .nr-pills .nav-link:not(.active):hover {
    color: #e2e8f0;
    background: rgba(148, 163, 184, 0.12);
}

[data-bs-theme="dark"] .nr-pills .nav-link.active {
    background: rgba(216, 178, 138, 0.18);
    color: #fff7ed;
    border-color: rgba(216, 178, 138, 0.22);
}

[data-bs-theme="dark"] .nr-subtabs.nav-tabs {
    border-bottom-color: #1e293b;
}

[data-bs-theme="dark"] .nr-subtabs .nav-link:not(.active) {
    color: #94a3b8;
}

[data-bs-theme="dark"] .nr-subtabs .nav-link:hover {
    color: #d8b28a;
    background: rgba(216, 178, 138, 0.14);
}

[data-bs-theme="dark"] .nr-subtabs .nav-link.active {
    color: #d8b28a;
    background: #141b26;
    border-color: #1e293b;
    border-bottom-color: #141b26;
}

[data-bs-theme="dark"] .nr-sales-product-list {
    background: #0f1419;
}

[data-bs-theme="dark"] .nr-header-logo {
    border-color: #334155;
}

[data-bs-theme="dark"] .nr-preview-placeholder {
    background: #1e293b;
    color: #94a3b8;
}

[data-bs-theme="dark"] .nr-home-card {
    background: #141b26;
    border-color: #1e293b;
}

[data-bs-theme="dark"] .nr-home__title {
    color: #f1f5f9;
}

[data-bs-theme="dark"] .nr-home-card__icon {
    background: #1e293b;
    color: #cbd5e1;
}

/* Sadakat push — gönderim zamanı satırları (gün / saat / dakika seçicileri) */
.nr-schedule-slot {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    padding: 0.85rem 1rem;
    margin-bottom: 0.6rem;
    background: var(--nr-field);
    border: 1px solid var(--nr-border);
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04);
}

.nr-schedule-field .form-label {
    font-weight: 600;
    letter-spacing: 0.02em;
}

.nr-schedule-field--day {
    flex: 1 1 11rem;
    min-width: 10rem;
}

.nr-schedule-field--time {
    flex: 0 0 auto;
    min-width: 5.25rem;
    max-width: 6rem;
}

.nr-schedule-time-sep {
    font-size: 1.1rem;
    line-height: 1;
    user-select: none;
}

.nr-schedule-field--time .form-select {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    border-radius: 10px;
    border-color: var(--nr-border);
    background-color: #fff;
}

.nr-schedule-field--day .form-select {
    border-radius: 10px;
    border-color: var(--nr-border);
    background-color: #fff;
    font-weight: 600;
}

.nr-schedule-slot__actions {
    margin-left: auto;
    padding-bottom: 0.15rem;
}

@media (max-width: 576px) {
    .nr-schedule-slot__actions {
        margin-left: 0;
        width: 100%;
    }

    .nr-schedule-slot__actions .btn {
        width: 100%;
    }
}

[data-bs-theme="dark"] .nr-schedule-slot {
    background: #141b26;
    border-color: #1e293b;
    box-shadow: none;
}

[data-bs-theme="dark"] .nr-schedule-field--day .form-select,
[data-bs-theme="dark"] .nr-schedule-field--time .form-select {
    background-color: #0f1419;
    border-color: #334155;
    color: #e2e8f0;
}

/* Raporlar grafikleri — global (scoped CSS önbellek/WASM uyumsuzluğunda çizilmez) */
.nr-reports-chart {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    min-height: 12rem;
    padding: 0.5rem 0 0;
    width: 100%;
}

.nr-reports-chart__col {
    flex: 1 1 0;
    min-width: 2.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.nr-reports-chart__bar-wrap {
    width: 100%;
    max-width: 3rem;
    height: 9rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.nr-reports-chart__bar {
    width: 72%;
    min-height: 2px;
    border-radius: 0.25rem 0.25rem 0 0;
    background: linear-gradient(180deg, #c59d5f 0%, #8b6914 100%);
}

.nr-reports-chart__value {
    line-height: 1.1;
    text-align: center;
}

.nr-reports-chart__label {
    text-align: center;
    line-height: 1.15;
    color: var(--bs-secondary-color);
}

.nr-reports-kpi {
    transition: box-shadow 0.15s ease;
}

.nr-reports-kpi:hover {
    box-shadow: 0 0.125rem 0.5rem rgba(28, 25, 23, 0.06);
}

/* Rezervasyon kartları — admin gelen talep / gün listesi */
.nr-res-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 768px) {
    .nr-res-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.nr-res-card {
    display: flex;
    min-height: 12.5rem;
    height: 100%;
    border-radius: 14px;
    border: 1px solid rgba(107, 61, 34, 0.12);
    background: var(--nr-card, #fffdf8);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(28, 25, 23, 0.05);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.nr-res-card:hover {
    box-shadow: 0 4px 14px rgba(28, 25, 23, 0.08);
    transform: translateY(-1px);
}

.nr-res-card__accent {
    width: 5px;
    flex-shrink: 0;
}

.nr-res-card__body {
    flex: 1;
    min-width: 0;
    padding: 0.95rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.nr-res-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.nr-res-card__date-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 3.1rem;
    padding: 0.35rem 0.5rem;
    border-radius: 10px;
    background: rgba(107, 61, 34, 0.07);
    line-height: 1.05;
}

.nr-res-card__date-chip-day {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2b2118;
}

.nr-res-card__date-chip-mon {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(43, 33, 24, 0.65);
}

.nr-res-card__name {
    font-weight: 600;
    font-size: 0.95rem;
    color: #2b2118;
    line-height: 1.25;
}

.nr-res-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    font-size: 0.78rem;
    color: rgba(43, 33, 24, 0.72);
}

.nr-res-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.nr-res-card__note {
    font-size: 0.78rem;
    color: rgba(43, 33, 24, 0.8);
    background: rgba(107, 61, 34, 0.05);
    border-radius: 8px;
    padding: 0.4rem 0.55rem;
    line-height: 1.35;
}

.nr-res-card__foot {
    margin-top: auto;
    padding-top: 0.55rem;
    border-top: 1px dashed rgba(107, 61, 34, 0.12);
}

.nr-res-card__id {
    font-size: 0.7rem;
    color: rgba(43, 33, 24, 0.5);
}

.nr-order-card {
    cursor: pointer;
}

.nr-order-initial {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    background: rgba(107, 61, 34, 0.08);
    color: var(--nr-primary, #6b3d22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.nr-order-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    border: 1px solid;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

[data-bs-theme="dark"] .nr-res-card {
    background: var(--bs-body-bg);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-bs-theme="dark"] .nr-res-card__date-chip {
    background: rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .nr-res-card__name {
    color: var(--bs-body-color);
}

/* Landing iletişim chat — viewport’a sabitle (scoped CSS önbellek uyumsuzluğunda da görünür kalsın) */
.nr-chat {
    position: fixed !important;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 9999;
    pointer-events: auto;
}

@media (max-width: 575px) {
    .nr-chat {
        right: 0.75rem;
        bottom: 0.75rem;
    }
}

/* Workspace nav — tek chrome: header aksiyonları + segmented + underline linkler */
.nr-ws-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
}

.nr-ws-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.7rem;
    border-radius: 8px;
    border: 1px solid rgba(107, 61, 34, 0.12);
    background: transparent;
    color: #5b4a3d;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
}

.nr-ws-action:hover {
    background: rgba(107, 61, 34, 0.06);
    color: #3d2b1e;
    text-decoration: none;
}

.nr-ws-action--emphasis {
    background: rgba(107, 61, 34, 0.08);
    border-color: rgba(107, 61, 34, 0.18);
    color: #3d2b1e;
}

.nr-ws-nav {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1.35rem;
}

.nr-ws-seg {
    display: inline-flex;
    align-self: flex-start;
    flex-wrap: wrap;
    padding: 0.28rem;
    gap: 0.28rem;
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(248, 241, 232, 0.75));
    border: 1px solid rgba(107, 61, 34, 0.12);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.nr-ws-seg__btn {
    appearance: none;
    border: 1px solid transparent;
    background: transparent;
    color: #6b5a4c;
    font-weight: 650;
    font-size: 0.88rem;
    letter-spacing: -0.01em;
    padding: 0.42rem 0.78rem 0.42rem 0.45rem;
    border-radius: 11px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.nr-ws-seg__icon {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(107, 61, 34, 0.08);
    color: #6b3d22;
    flex-shrink: 0;
}

.nr-ws-seg__icon .bi {
    font-size: 0.95rem;
    line-height: 1;
}

.nr-ws-seg__label {
    line-height: 1.1;
}

.nr-ws-seg__btn:hover:not(:disabled) {
    color: #3d2b1e;
    background: rgba(255, 253, 248, 0.75);
}

.nr-ws-seg__btn.active {
    background: #fffdf8;
    color: #3d2b1e;
    font-weight: 750;
    border-color: rgba(107, 61, 34, 0.14);
    box-shadow: 0 2px 8px rgba(89, 61, 38, 0.08);
}

.nr-ws-seg__btn.active .nr-ws-seg__icon {
    background: linear-gradient(135deg, #6b3d22 0%, #8b5a34 100%);
    color: #fff7ed;
}

.nr-ws-seg__btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.nr-ws-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.15rem;
    border-bottom: 1px solid rgba(107, 61, 34, 0.10);
}

.nr-ws-link {
    appearance: none;
    border: none;
    background: transparent;
    color: #7a6656;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.55rem 0.8rem 0.65rem;
    margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: color 0.14s ease, border-color 0.14s ease;
}

.nr-ws-link .bi {
    font-size: 0.95rem;
    opacity: 0.85;
}

.nr-ws-link:hover:not(:disabled) {
    color: #3d2b1e;
}

.nr-ws-link:hover:not(:disabled) .bi,
.nr-ws-link.active .bi {
    opacity: 1;
}

.nr-ws-link.active {
    color: #3d2b1e;
    font-weight: 750;
    border-bottom-color: #6b3d22;
}

.nr-ws-link:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

[data-bs-theme="dark"] .nr-ws-action {
    border-color: #334155;
    color: #d6cec7;
}

[data-bs-theme="dark"] .nr-ws-action:hover {
    background: rgba(216, 178, 138, 0.10);
    color: #fff7ed;
}

[data-bs-theme="dark"] .nr-ws-action--emphasis {
    background: rgba(216, 178, 138, 0.12);
    border-color: rgba(216, 178, 138, 0.24);
    color: #fff7ed;
}

[data-bs-theme="dark"] .nr-ws-seg {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.9), rgba(20, 27, 38, 0.85));
    border-color: #334155;
    box-shadow: none;
}

[data-bs-theme="dark"] .nr-ws-seg__btn {
    color: #b8aea4;
}

[data-bs-theme="dark"] .nr-ws-seg__icon {
    background: rgba(216, 178, 138, 0.12);
    color: #d8b28a;
}

[data-bs-theme="dark"] .nr-ws-seg__btn:hover:not(:disabled) {
    color: #fff7ed;
    background: rgba(20, 27, 38, 0.55);
}

[data-bs-theme="dark"] .nr-ws-seg__btn.active {
    background: #141b26;
    color: #fff7ed;
    border-color: rgba(216, 178, 138, 0.22);
    box-shadow: none;
}

[data-bs-theme="dark"] .nr-ws-seg__btn.active .nr-ws-seg__icon {
    background: linear-gradient(135deg, #d8b28a 0%, #e4c4a0 100%);
    color: #24160d;
}

[data-bs-theme="dark"] .nr-ws-links {
    border-bottom-color: #1e293b;
}

[data-bs-theme="dark"] .nr-ws-link {
    color: #94a3b8;
}

[data-bs-theme="dark"] .nr-ws-link:hover:not(:disabled),
[data-bs-theme="dark"] .nr-ws-link.active {
    color: #fff7ed;
}

[data-bs-theme="dark"] .nr-ws-link.active {
    border-bottom-color: #d8b28a;
}

/* POS kiosk — tam ekran dokunmatik adisyon (açık/koyu mod) */
.nr-kiosk-shell {
    --k-bg: #f0f2f5;
    --k-surface: #ffffff;
    --k-surface-2: #f8fafc;
    --k-border: #e2e8f0;
    --k-text: #1e293b;
    --k-muted: #64748b;
    --k-accent: #0f766e;
    --k-accent-soft: rgba(15, 118, 110, 0.12);
    --k-btn-bg: #ffffff;
    --k-btn-border: #cbd5e1;
    --k-input-bg: #ffffff;
    min-height: 100dvh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--k-bg);
    color: var(--k-text);
    overflow: hidden;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
}

[data-bs-theme="dark"] .nr-kiosk-shell {
    --k-bg: #0b0f14;
    --k-surface: #121820;
    --k-surface-2: #151c26;
    --k-border: #1e2936;
    --k-text: #e8edf2;
    --k-muted: #94a3b8;
    --k-accent: #14b8a6;
    --k-accent-soft: rgba(20, 184, 166, 0.14);
    --k-btn-bg: #1a2330;
    --k-btn-border: #334155;
    --k-input-bg: #1a2330;
}

.nr-kiosk-shell input,
.nr-kiosk-shell textarea,
.nr-kiosk-shell .form-control {
    -webkit-user-select: text;
    user-select: text;
}

.nr-kiosk-loading {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    text-align: center;
}

.nr-kiosk-topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    background: var(--k-surface);
    border-bottom: 1px solid var(--k-border);
    flex-shrink: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.nr-kiosk-topbar__left,
.nr-kiosk-topbar__right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.nr-kiosk-topbar__right {
    justify-content: flex-end;
}

.nr-kiosk-topbar__center {
    text-align: center;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}

.nr-kiosk-topbar__logo {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.65rem;
    object-fit: cover;
    border: 1px solid var(--k-border);
    background: var(--k-surface-2);
}

.nr-kiosk-topbar__logo--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
    border: none;
}

.nr-kiosk-topbar__title {
    font-size: 1.15rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.2;
}

.nr-kiosk-topbar__sub {
    font-size: 0.82rem;
    color: var(--k-muted);
    max-width: 100%;
}

.nr-kiosk-clock {
    font-variant-numeric: tabular-nums;
    font-size: 1.05rem;
    color: var(--k-muted);
    min-width: 5.5rem;
    text-align: center;
}

.nr-kiosk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--k-btn-border);
    border-radius: 0.65rem;
    background: var(--k-btn-bg);
    color: var(--k-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.05s;
}

.nr-kiosk-btn:active:not(:disabled) {
    transform: scale(0.98);
}

.nr-kiosk-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.nr-kiosk-btn--ghost {
    background: transparent;
    border-color: transparent;
    color: var(--k-muted);
}

.nr-kiosk-btn--ghost:hover:not(:disabled) {
    background: var(--k-accent-soft);
    color: var(--k-text);
}

.nr-kiosk-btn--primary {
    background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
    border-color: #0f766e;
    color: #fff;
}

.nr-kiosk-btn--success {
    background: #166534;
    border-color: #15803d;
    color: #ecfdf5;
}

.nr-kiosk-btn--danger {
    background: #991b1b;
    border-color: #b91c1c;
    color: #fff;
}

.nr-kiosk-btn--sm {
    min-height: 2.25rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
}

.nr-kiosk-btn--xl {
    min-height: 3.5rem;
    padding: 0.75rem 1.25rem;
    font-size: 1.05rem;
}

.nr-kiosk-btn--pay {
    background: #1e293b;
    border-color: #334155;
}

.nr-kiosk-btn--pay.active {
    background: #0f766e;
    border-color: #14b8a6;
    color: #fff;
}

.nr-kiosk-history {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.nr-kiosk-history__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--k-surface-2);
    border-bottom: 1px solid var(--k-border);
}

.nr-kiosk-masa-notice {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0.75rem 1rem 0;
    padding: 0.75rem 1rem;
    border-radius: 0.65rem;
    font-size: 0.92rem;
    line-height: 1.35;
}

.nr-kiosk-masa-notice--required {
    background: #fef3c7;
    border: 2px solid #f59e0b;
    color: #92400e;
}

[data-bs-theme="dark"] .nr-kiosk-masa-notice--required {
    background: rgba(245, 158, 11, 0.15);
    border-color: #f59e0b;
    color: #fcd34d;
}

.nr-kiosk-masa-notice--required i {
    font-size: 1.25rem;
    color: #d97706;
    flex-shrink: 0;
}

.nr-kiosk-seg {
    display: inline-flex;
    padding: 0.2rem;
    border-radius: 0.65rem;
    background: var(--k-surface);
    border: 1px solid var(--k-border);
}

.nr-kiosk-seg__btn {
    min-height: 2.75rem;
    min-width: 5.5rem;
    padding: 0.45rem 1rem;
    border: none;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--k-muted);
    font-weight: 600;
    cursor: pointer;
}

.nr-kiosk-seg__btn.active {
    background: var(--k-accent);
    color: #fff;
}

.nr-kiosk-date {
    max-width: 11rem;
    min-height: 2.75rem;
    background: var(--k-input-bg);
    border-color: var(--k-border);
    color: var(--k-text);
}

.nr-kiosk-check-grid {
    flex: 1;
    overflow: auto;
    padding: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
    align-content: start;
}

.nr-kiosk-check-card {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 0.85rem;
    border: 2px solid var(--k-border);
    background: var(--k-surface);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s, transform 0.05s;
}

.nr-kiosk-check-card:active {
    transform: scale(0.99);
}

.nr-kiosk-check-card.is-open {
    border-color: #14b8a6;
}

.nr-kiosk-check-card.is-paid {
    border-color: #22c55e;
    opacity: 0.92;
}

.nr-kiosk-check-card.is-cancelled {
    border-color: #64748b;
    opacity: 0.55;
}

.nr-kiosk-check-card.is-partial {
    border-color: #3b82f6;
}

.nr-kiosk-check-card.is-partial .nr-kiosk-check-card__badge {
    font-weight: 700;
    background: rgba(59, 130, 246, 0.22);
    color: #93c5fd;
}

.nr-kiosk-check-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.nr-kiosk-check-card__table {
    font-size: 1.25rem;
    font-weight: 700;
}

.nr-kiosk-check-card__badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    white-space: nowrap;
}

.nr-kiosk-check-card.is-open .nr-kiosk-check-card__badge {
    background: rgba(20, 184, 166, 0.2);
    color: #5eead4;
}

.nr-kiosk-check-card.is-paid .nr-kiosk-check-card__badge {
    background: rgba(34, 197, 94, 0.2);
    color: #86efac;
}

.nr-kiosk-check-card__amount {
    font-size: 1.35rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.nr-kiosk-check-card__meta {
    font-size: 0.8rem;
    color: var(--k-muted);
}

.nr-kiosk-check-card__total {
    font-size: 0.78rem;
    font-weight: 300;
    color: var(--k-muted);
    font-variant-numeric: tabular-nums;
}

.nr-kiosk-check-card__actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.35rem;
}

.nr-partial-pay__toggle {
    background: var(--k-surface);
    color: inherit;
    cursor: pointer;
}

.nr-partial-pay__toggle:hover {
    background: rgba(255, 255, 255, 0.04);
}

.nr-partial-pay__preview {
    background: rgba(5, 150, 105, 0.12);
    border: 1px solid rgba(5, 150, 105, 0.28);
    border-radius: 0.5rem;
    color: #047857;
    padding: 0.5rem 0.65rem;
}

.nr-partial-pay .border-top {
    border-color: var(--k-border) !important;
}

.nr-kiosk-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--k-muted);
    padding: 3rem 1rem;
}

.nr-kiosk-empty i {
    font-size: 3rem;
}

.nr-kiosk-new-check-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.85rem 1rem;
    padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom, 0));
    background: var(--k-surface);
    border-top: 3px solid var(--k-accent);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
    z-index: 10;
}

.nr-kiosk-new-check-strip__fields {
    flex: 1 1 320px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    min-width: 0;
}

.nr-kiosk-table-block {
    flex: 1 1 200px;
    min-width: 0;
}

.nr-kiosk-table-block--required {
    flex: 1 1 280px;
    padding: 0.65rem 0.75rem;
    border-radius: 0.65rem;
    border: 2px solid #f59e0b;
    background: #fffbeb;
}

[data-bs-theme="dark"] .nr-kiosk-table-block--required {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
}

.nr-kiosk-table-field__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--k-muted);
}

.nr-kiosk-table-field__label--required {
    color: #b45309;
    font-size: 0.85rem;
}

[data-bs-theme="dark"] .nr-kiosk-table-field__label--required {
    color: #fcd34d;
}

.nr-kiosk-table-field__label--required i {
    font-size: 0.55rem;
    vertical-align: super;
    color: #fbbf24;
}

.nr-kiosk-table-field__label--optional {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
    color: #64748b;
}

.nr-kiosk-table-field__readonly {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.5rem 0.85rem;
    border-radius: 0.65rem;
    border: 1px dashed var(--k-border);
    background: var(--k-accent-soft);
    color: var(--k-accent);
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.nr-kiosk-table-input {
    width: 100%;
    min-height: 3rem;
    background: var(--k-input-bg);
    border-color: var(--k-border);
    color: var(--k-text);
}

.nr-kiosk-table-input--required {
    border-width: 2px;
    border-color: #f59e0b;
    min-height: 3.25rem;
    font-size: 1.1rem;
    font-weight: 600;
}

.nr-kiosk-table-input--required:focus {
    border-color: #2dd4bf;
    box-shadow: 0 0 0 0.2rem rgba(20, 184, 166, 0.25);
}

.nr-kiosk-table-input--required.is-invalid {
    border-color: #f87171;
    box-shadow: 0 0 0 0.2rem rgba(248, 113, 113, 0.2);
}

.nr-kiosk-table-input--optional {
    min-height: 2.85rem;
    font-size: 0.95rem;
}

.nr-kiosk-edit {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    min-height: 0;
    overflow: hidden;
}

.nr-kiosk-edit__menu {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.85rem;
    border-right: 1px solid #1e2936;
    background: #0f1419;
}

.nr-kiosk-edit__menu .form-control {
    background: #1a2330;
    border-color: #334155;
    color: #e8edf2;
}

.nr-kiosk-cats {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
}

.nr-kiosk-cat {
    flex-shrink: 0;
    min-height: 2.5rem;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    border: 1px solid #334155;
    background: #1a2330;
    color: #cbd5e1;
    font-weight: 600;
    cursor: pointer;
}

.nr-kiosk-cat.active {
    background: #0f766e;
    border-color: #14b8a6;
    color: #fff;
}

.nr-kiosk-product-grid {
    flex: 1;
    overflow: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.65rem;
    align-content: start;
}

.nr-kiosk-product {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
    min-height: 5.5rem;
    padding: 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid #334155;
    background: #151c26;
    color: #e8edf2;
    text-align: left;
    cursor: pointer;
}

.nr-kiosk-product.has-qty {
    border-color: #14b8a6;
    background: #132028;
}

.nr-kiosk-product__qty {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    min-width: 1.65rem;
    min-height: 1.65rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #0f766e;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.65rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.nr-kiosk-product:active:not(:disabled) {
    background: #1e293b;
}

.nr-kiosk-product__name {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.nr-kiosk-product__barcode {
    font-size: 0.65rem;
    line-height: 1.1;
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nr-kiosk-product__price {
    font-size: 0.85rem;
    color: #5eead4;
    font-variant-numeric: tabular-nums;
}

.nr-kiosk-edit__cart {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #f8fafc;
    color: #0f172a;
}

.nr-kiosk-cart-lines {
    flex: 1;
    overflow: auto;
    padding: 0.75rem;
}

.nr-kiosk-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #e2e8f0;
}

.nr-kiosk-line__name {
    font-weight: 600;
    line-height: 1.25;
}

.nr-kiosk-line__unit {
    font-size: 0.85rem;
    color: #64748b;
}

.nr-kiosk-line__qty {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.nr-kiosk-qty {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.nr-kiosk-line__remove {
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 0.5rem;
    background: #fee2e2;
    color: #b91c1c;
    cursor: pointer;
}

.nr-kiosk-line__total {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.nr-kiosk-cart-summary {
    padding: 0.85rem 0.75rem calc(0.85rem + env(safe-area-inset-bottom, 0));
    border-top: 2px solid #e2e8f0;
    background: #fff;
}

.nr-kiosk-total {
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #0f766e;
}

.nr-kiosk-pay-row {
    display: flex;
    gap: 0.5rem;
}

.nr-kiosk-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.65);
}

.nr-kiosk-modal {
    width: min(420px, 100%);
    padding: 1.5rem;
    border-radius: 1rem;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.nr-kiosk-modal h2 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.nr-kiosk-muted {
    color: var(--k-muted);
}

@media (max-width: 900px) {
    .nr-kiosk-edit {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    }

    .nr-kiosk-edit__menu {
        border-right: none;
        border-bottom: 1px solid #1e2936;
    }
}

@media (max-width: 900px) {
    .nr-kiosk-topbar {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .nr-kiosk-topbar__center {
        min-width: 0;
    }

    .nr-kiosk-topbar__title {
        font-size: 1rem;
    }

    .nr-kiosk-topbar__sub {
        font-size: 0.75rem;
    }
}

@media (max-width: 640px) {
    .nr-kiosk-topbar {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .nr-kiosk-topbar__left {
        order: 1;
    }

    .nr-kiosk-topbar__center {
        order: 0;
    }

    .nr-kiosk-topbar__right {
        order: 2;
        justify-content: space-between;
        width: 100%;
    }

    .nr-kiosk-new-check-strip {
        flex-direction: column;
        align-items: stretch;
    }

    .nr-kiosk-new-check-strip .nr-kiosk-btn--xl {
        width: 100%;
    }
}

/* —— Mutfak / hazırlık kiosk —— */
.nr-kitchen-board {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 1.25rem 1.5rem 1.75rem;
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(15, 118, 110, 0.08), transparent 55%),
        var(--k-bg);
}

.nr-kitchen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.15rem;
    align-content: start;
}

@media (min-width: 1100px) {
    .nr-kitchen-grid {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: 1.35rem;
    }
}

.nr-kitchen-card {
    display: flex;
    flex-direction: column;
    min-height: 220px;
    border-radius: 1.1rem;
    border: 2px solid var(--k-border);
    background: var(--k-surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nr-kitchen-card__accent {
    height: 6px;
    background: linear-gradient(90deg, #0f766e, #14b8a6);
    flex-shrink: 0;
}

.nr-kitchen-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.1rem 1.2rem 1.25rem;
    flex: 1;
}

.nr-kitchen-card.is-new {
    border-color: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.28), 0 12px 32px rgba(15, 23, 42, 0.12);
    animation: nr-kitchen-pulse 1.15s ease-in-out 2;
}

.nr-kitchen-card.is-new .nr-kitchen-card__accent {
    background: linear-gradient(90deg, #ea580c, #f59e0b);
}

.nr-kitchen-card.is-all-served {
    opacity: 0.78;
}

.nr-kitchen-card__head-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

.nr-kitchen-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    letter-spacing: 0.01em;
}

.nr-kitchen-pill--sm {
    font-size: 0.72rem;
    padding: 0.18rem 0.45rem;
}

.nr-kitchen-pill--new {
    background: #ffedd5;
    color: #c2410c;
}

.nr-kitchen-pill--served {
    background: #dcfce7;
    color: #15803d;
}

[data-bs-theme="dark"] .nr-kitchen-pill--new {
    background: rgba(251, 146, 60, 0.2);
    color: #fdba74;
}

[data-bs-theme="dark"] .nr-kitchen-pill--served {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

.nr-kitchen-all-served {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.85rem 0.9rem;
    border-radius: 0.75rem;
    background: var(--k-surface-2);
    border: 1px dashed var(--k-border);
    color: var(--k-muted);
    font-weight: 600;
}

.nr-kitchen-card__line-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.nr-kitchen-card__line-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    font-size: 0.78rem;
    color: var(--k-muted);
    font-weight: 600;
}

.nr-kitchen-serve-btn {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.1rem;
    min-width: 4.4rem;
    padding: 0.45rem 0.5rem;
    border-radius: 0.65rem;
    border: none;
    background: #16a34a;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    cursor: pointer;
}

.nr-kitchen-serve-btn i {
    font-size: 1.15rem;
    line-height: 1;
}

.nr-kitchen-serve-btn:disabled {
    opacity: 0.55;
    cursor: wait;
}

.nr-kitchen-serve-btn--undo {
    background: transparent;
    color: var(--k-muted);
    border: 1px solid var(--k-border);
    min-width: 3.6rem;
    font-size: 0.75rem;
}

.nr-kitchen-served-toggle {
    margin-top: 0.15rem;
    align-self: flex-start;
    border: none;
    background: transparent;
    color: var(--k-muted);
    font-size: 0.88rem;
    font-weight: 700;
    padding: 0.35rem 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.nr-kitchen-card__lines--served {
    opacity: 0.9;
}

.nr-kitchen-card__lines li.is-line-new {
    border-color: #f59e0b;
    background: #fff7ed;
    box-shadow: inset 3px 0 0 #f59e0b;
}

[data-bs-theme="dark"] .nr-kitchen-card__lines li.is-line-new {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.45);
}

.nr-kitchen-card__qty--served {
    background: #dcfce7;
    color: #15803d;
}

[data-bs-theme="dark"] .nr-kitchen-card__qty--served {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

@keyframes nr-kitchen-pulse {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

.nr-kitchen-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
}

.nr-kitchen-card__table {
    font-size: clamp(2rem, 3.4vw, 2.55rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--k-text);
}

.nr-kitchen-card__table-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--k-muted);
    margin-bottom: 0.2rem;
}

.nr-kitchen-card__badge {
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: var(--k-accent-soft);
    color: var(--k-accent);
    white-space: nowrap;
    align-self: flex-start;
}

.nr-kitchen-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.85rem;
    font-size: 0.88rem;
    color: var(--k-muted);
    padding-bottom: 0.15rem;
    border-bottom: 1px solid var(--k-border);
}

.nr-kitchen-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.nr-kitchen-card__lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    flex: 1;
}

.nr-kitchen-card__lines li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.7rem;
    background: var(--k-surface-2);
    border: 1px solid var(--k-border);
}

.nr-kitchen-card__qty {
    flex: 0 0 auto;
    min-width: 2.6rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.55rem;
    background: #fee2e2;
    color: #b91c1c;
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

[data-bs-theme="dark"] .nr-kitchen-card__qty {
    background: rgba(248, 113, 113, 0.18);
    color: #fca5a5;
}

.nr-kitchen-card__name {
    font-size: clamp(1.1rem, 1.9vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
}

.nr-kitchen-empty {
    min-height: 55vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    text-align: center;
    color: var(--k-muted);
}

.nr-kitchen-empty i {
    font-size: 3.25rem;
    opacity: 0.4;
    color: var(--k-accent);
}

.nr-kitchen-empty p {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--k-text);
}

.nr-spin {
    display: inline-block;
    animation: nr-spin 0.8s linear infinite;
}

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

/* —— Global UI toasts (viewport-fixed, scroll-independent) —— */
.nr-toast-host {
    position: fixed;
    left: 50%;
    bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 1080;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.55rem;
    width: min(28rem, calc(100vw - 1.5rem));
    pointer-events: none;
}

.nr-toast {
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    border: 1px solid transparent;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: nr-toast-in 0.28s ease-out;
    font-size: 0.92rem;
    line-height: 1.35;
    font-weight: 600;
}

.nr-toast--success {
    color: #14532d;
    background: rgba(236, 253, 245, 0.96);
    border-color: rgba(34, 197, 94, 0.35);
}

.nr-toast--error {
    color: #7f1d1d;
    background: rgba(254, 242, 242, 0.97);
    border-color: rgba(239, 68, 68, 0.35);
}

.nr-toast--info {
    color: #1e3a5f;
    background: rgba(239, 246, 255, 0.97);
    border-color: rgba(59, 130, 246, 0.35);
}

.nr-toast__icon {
    font-size: 1.15rem;
    line-height: 1.2;
    flex: 0 0 auto;
    margin-top: 0.05rem;
}

.nr-toast--success .nr-toast__icon { color: #16a34a; }
.nr-toast--error .nr-toast__icon { color: #dc2626; }
.nr-toast--info .nr-toast__icon { color: #2563eb; }

.nr-toast__text {
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}

.nr-toast__close {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: inherit;
    opacity: 0.55;
    padding: 0.1rem;
    line-height: 1;
    border-radius: 6px;
}

.nr-toast__close:hover {
    opacity: 1;
    background: rgba(15, 23, 42, 0.06);
}

@keyframes nr-toast-in {
    from {
        opacity: 0;
        transform: translateY(0.75rem) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nr-toast { animation: none; }
}