/* AGRYNEA KIOSK — YAŞLI DOSTU / PREMIUM TABLET UX */

body {
    background-color: #f4f7f6;
    font-family: 'Inter', sans-serif;
    color: #1a1a1a;
}

.kiosk-root {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    padding: 1.5rem;
}

.kiosk-shell {
    width: 100%;
    max-width: 1100px;
}

/* BAŞLIKLAR */
.kiosk-header {
    text-align: center;
    margin-bottom: 2rem;
    padding: 0 1rem;
}

.kiosk-header h1 {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 5vw, 2.75rem);
    font-weight: 800;
    color: #0d1f12;
    margin-bottom: 0.5rem;
}

.kiosk-header p {
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
    color: #3d4f44;
    font-weight: 600;
}

/* ANA PANEL */
.wizard-panel-modern,
.kiosk-panel {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    border-radius: 32px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.08);
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.9);
    text-align: center;
}

.kiosk-panel--wizard {
    padding: 2.5rem !important;
}

.kiosk-wizard-body {
    text-align: left;
    padding: 0.5rem 0;
}

/* ADIM BAŞLIKLARI */
.wizard-step-title-tablet {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 800 !important;
    color: #0d1f12 !important;
    margin-bottom: 0.75rem !important;
    text-align: center;
    line-height: 1.2 !important;
}

.wizard-step-hint-tablet {
    color: #3d4f44 !important;
    font-weight: 600 !important;
    text-align: center;
    margin-bottom: 2rem !important;
    line-height: 1.45 !important;
}

/* NFC */
.kiosk-nfc-icon {
    width: 120px;
    height: 120px;
    background: #eef5ee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    animation: nfc-pulse 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

.kiosk-nfc-icon .mud-icon-root {
    font-size: 4rem;
    color: #2e7d32;
}

@keyframes nfc-pulse {
    to {
        box-shadow: 0 0 0 45px rgba(46, 125, 50, 0);
    }
}

.kiosk-status {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.kiosk-status--waiting { color: #475569; }
.kiosk-status--success { color: #2e7d32; }
.kiosk-status--error { color: #c62828; }

.kiosk-error-box {
    background: #fff5f5;
    border: 3px solid #ffcdd2;
    padding: 2rem;
    border-radius: 24px;
    margin-bottom: 1.5rem;
}

.kiosk-error-box h2 {
    color: #c62828;
    font-size: 1.75rem;
    font-weight: 800;
}

.kiosk-dev-btn {
    margin-top: 2rem;
    min-height: 100px;
    font-size: 1.15rem !important;
}

/* ——— DOKUNMATİK KARTLAR (TÜM ADIMLAR) ——— */
.kiosk-touch-card-modern,
.kiosk-sira-card {
    min-height: 100px;
    cursor: pointer;
    border-radius: 24px !important;
    border: 3px solid #d0ddd4 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kiosk-touch-card-modern {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.75rem 1.25rem;
    text-align: center;
}

.kiosk-touch-card-modern:active,
.kiosk-sira-card:active {
    transform: scale(0.98);
}

/* Seçili: koyu yeşil + beyaz yazı */
.kiosk-touch-card-modern--selected,
.kiosk-sira-card--selected {
    background: #2e7d32 !important;
    border-color: #1b5e20 !important;
    color: #ffffff !important;
    transform: scale(1.02);
    box-shadow: 0 12px 32px rgba(46, 125, 50, 0.35) !important;
}

.kiosk-touch-card-modern--selected .kiosk-touch-card__label,
.kiosk-touch-card-modern--selected .kiosk-touch-card__label--primary,
.kiosk-touch-card-modern--selected .kiosk-touch-card__score,
.kiosk-touch-card-modern--selected .mud-typography,
.kiosk-touch-card-modern--selected .mud-icon-root,
.kiosk-sira-card--selected .kiosk-sira-card__label,
.kiosk-sira-card--selected .kiosk-sira-card__sublabel,
.kiosk-sira-card--selected .mud-typography {
    color: #ffffff !important;
}

.kiosk-touch-card-modern__icon-wrap .mud-icon-root {
    font-size: 3.5rem;
    color: #2e7d32;
    margin-bottom: 0.75rem;
}

.kiosk-touch-card-modern--selected .kiosk-touch-card-modern__icon-wrap .mud-icon-root {
    color: #ffffff !important;
}

.kiosk-touch-card__label,
.kiosk-touch-card__label--primary {
    font-weight: 800 !important;
    color: #0d1f12;
    line-height: 1.25;
}

.kiosk-touch-card__score {
    font-weight: 700 !important;
    color: #2e7d32;
    margin-top: 0.35rem;
}

/* İş tipi kartları */
.kiosk-job-card {
    padding: 0 !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100px;
}

.kiosk-job-card__cover {
    width: 100%;
    height: 140px;
    object-fit: cover;
}

.kiosk-job-card__shade {
    display: none;
}

.kiosk-job-card__fallback {
    min-height: 120px;
    background: #e8efe9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kiosk-job-card__fallback .mud-icon-root {
    font-size: 3.5rem;
    color: #5c7a62;
}

.kiosk-job-card__content {
    padding: 1.25rem 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.kiosk-job-card.kiosk-touch-card-modern--selected .kiosk-job-card__cover {
    opacity: 0.35;
}

/* Miktar butonları */
.kiosk-qty-step {
    padding-bottom: 1rem;
}

.kiosk-qty-grid .mud-button-root {
    min-height: 160px !important;
    border-radius: 24px !important;
    text-transform: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

.kiosk-qty-card {
    border: 3px solid #d0ddd4 !important;
    font-weight: 800 !important;
}

.kiosk-qty-card--full {
    background: #ffffff !important;
    color: #0d1f12 !important;
}

.kiosk-qty-card--half {
    background: #ffffff !important;
    color: #0d1f12 !important;
}

.kiosk-qty-card.mud-elevation-8,
.kiosk-qty-card--full.mud-elevation-8,
.kiosk-qty-card--half.mud-elevation-8 {
    background: #2e7d32 !important;
    border-color: #1b5e20 !important;
    color: #ffffff !important;
    transform: scale(1.02);
}

.kiosk-qty-card.mud-elevation-8 .mud-typography {
    color: #ffffff !important;
}

.kiosk-save-sticky {
    margin-top: 2rem;
    padding-top: 0.5rem;
}

.wizard-save-btn-tablet {
    min-height: 100px !important;
    height: auto !important;
    border-radius: 24px !important;
    font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
    font-weight: 800 !important;
    text-transform: none !important;
    box-shadow: 0 12px 36px rgba(46, 125, 50, 0.4) !important;
    letter-spacing: 0.02em;
}

/* Sihirbaz üst alan */
.wizard-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    background: #f1f8f2;
    padding: 1.75rem;
    border-radius: 24px;
    border: 2px solid #c8e6c9;
}

.wizard-avatar {
    width: 80px;
    height: 80px;
    background: #2e7d32;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    flex-shrink: 0;
}

.wizard-hero-text h2 {
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    font-weight: 800;
    color: #0d1f12;
    margin: 0;
}

.wizard-hero-text p {
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    color: #3d4f44;
    font-weight: 600;
    margin: 0.25rem 0 0;
}

.wizard-stepper {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 2.5rem;
}

.wizard-stepper__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    opacity: 0.35;
}

.wizard-stepper__item--active,
.wizard-stepper__item--done {
    opacity: 1;
}

.wizard-stepper__bar {
    width: 100%;
    height: 12px;
    background: #e0e8e2;
    border-radius: 8px;
    overflow: hidden;
}

.wizard-stepper__bar-fill {
    height: 100%;
    background: #2e7d32;
}

.wizard-stepper__label {
    font-size: clamp(0.75rem, 1.8vw, 0.95rem);
    font-weight: 800;
    color: #0d1f12;
    text-transform: uppercase;
}

/* Alt navigasyon: Geri / İptal */
.kiosk-footer-nav {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.25rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 2px solid #e8efe9;
}

.kiosk-nav-btn {
    min-height: 80px !important;
    border-radius: 20px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    padding: 0 2rem !important;
    flex: 1 1 auto;
}

.kiosk-nav-btn--back {
    border-width: 3px !important;
    max-width: 48%;
}

.kiosk-nav-btn--cancel {
    background-color: #c62828 !important;
    color: #ffffff !important;
    max-width: 48%;
    box-shadow: 0 8px 20px rgba(198, 40, 40, 0.25) !important;
}

.kiosk-nav-btn--cancel .mud-icon-root,
.kiosk-nav-btn--cancel .mud-typography {
    color: #ffffff !important;
}

/* ——— SIRA SEÇİMİ ——— */
.kiosk-step-body--sira {
    display: flex;
    flex-direction: column;
    min-height: 50vh;
    padding-bottom: 7rem;
}

.sira-step-premium {
    padding: 0;
    text-align: left;
}

.sira-nav-unified {
    position: sticky;
    top: 0;
    z-index: 25;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 88%, rgba(255, 255, 255, 0));
    padding: 1rem 0 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #e8efe9;
}

.sira-nav-unified__heading {
    font-weight: 800 !important;
    color: #3d4f44 !important;
    text-align: center;
    margin-bottom: 0.75rem !important;
}

.sira-quick-nav-scroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.85rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.35rem 0.25rem 0.75rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.sira-quick-nav-chip {
    flex: 0 0 auto;
    min-height: 4.25rem !important;
    min-width: 5.5rem !important;
    font-size: clamp(1.15rem, 2.8vw, 1.45rem) !important;
    font-weight: 800 !important;
    padding: 0.85rem 1.5rem !important;
    border-radius: 999px !important;
    border-width: 3px !important;
}

.sira-nav-unified__meta {
    text-align: center;
    font-weight: 800 !important;
    color: #0d1f12 !important;
    margin-top: 0.25rem !important;
}

.sira-nav-unified__range {
    display: block;
    font-weight: 600;
    color: #3d4f44;
    font-size: 0.95em;
    margin-top: 0.15rem;
}

.sira-grid-area {
    flex: 1 1 auto;
    padding: 0.5rem 0 1rem;
}

.kiosk-sira-card {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem !important;
}

.kiosk-sira-card__label {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(2rem, 6vw, 3rem) !important;
    line-height: 1 !important;
    color: #0d1f12;
}

.kiosk-sira-card__sublabel {
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-top: 0.35rem !important;
    color: #3d4f44;
}

.kiosk-sira-card--pulse {
    animation: sira-card-select-pulse 0.5s ease-out;
}

@keyframes sira-card-select-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.06); }
    100% { transform: scale(1.02); }
}

/* Sticky alt: Önceki / Sonraki 30 sıra */
.sira-sticky-pager {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 70%, rgba(255, 255, 255, 0));
    border-top: 3px solid #c8e6c9;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.08);
    max-width: 1100px;
    margin: 0 auto;
}

/* Geri/İptal, sabit sıra çubuğunun üstünde kalsın */
.kiosk-panel--wizard:has(.sira-sticky-pager) .kiosk-footer-nav {
    margin-bottom: 7.5rem;
    position: relative;
    z-index: 45;
}

.sira-sticky-pager-btn {
    min-height: 100px !important;
    font-size: clamp(1.1rem, 2.8vw, 1.4rem) !important;
    font-weight: 800 !important;
    border-radius: 20px !important;
    text-transform: none !important;
    letter-spacing: 0.01em;
    line-height: 1.2 !important;
    white-space: normal !important;
}

/* Tamamlandı ekranı */
.wizard-complete-icon {
    width: 140px;
    height: 140px;
    background: #e8f5e9;
    color: #2e7d32;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 2rem;
}

.wizard-complete-icon .mud-icon-root {
    font-size: 5rem;
}

.wizard-complete-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: #0d1f12;
}

.wizard-complete-question {
    font-size: 1.35rem;
    color: #3d4f44;
    font-weight: 600;
}

.wizard-complete-btn-yes,
.wizard-complete-btn-no {
    min-height: 100px !important;
    border-radius: 24px !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.kiosk-empty-hint {
    padding: 2rem;
    text-align: center;
}

@media (min-width: 960px) {
    .kiosk-panel--wizard {
        padding: 3rem !important;
    }

    .sira-sticky-pager {
        left: 50%;
        transform: translateX(-50%);
        width: min(1100px, calc(100% - 3rem));
    }
}

@media (max-width: 768px) {
    .kiosk-root {
        padding: 0.75rem;
    }

    .kiosk-panel--wizard {
        padding: 1.5rem !important;
        border-radius: 24px;
    }

    .kiosk-footer-nav {
        flex-direction: column;
    }

    .kiosk-nav-btn--back,
    .kiosk-nav-btn--cancel {
        max-width: 100%;
    }

    .kiosk-step-body--sira {
        padding-bottom: 8.5rem;
    }

    .sira-sticky-pager-btn {
        min-height: 88px !important;
        font-size: 1.05rem !important;
    }
}

/* Kiosk tam ekran katmanları MudDialog'un altında kalmalı */
.mud-dialog-container {
    z-index: 4000 !important;
}

/* =========================================================
   WORKER SCREEN PREMIUM — /worker-screen tablet sihirbazı
   ========================================================= */

body:has(.kiosk-root-premium) {
    background-color: #f4f7f6;
    font-family: 'Inter', 'Poppins', sans-serif;
}

.kiosk-root-premium {
    display: flex;
    justify-content: center;
    align-items: stretch;
    min-height: 100dvh;
    height: 100dvh;
    padding: 1rem;
    padding-top: max(1rem, env(safe-area-inset-top, 0px));
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
}

.kiosk-shell-premium {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 32px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    max-height: 100%;
    min-height: 0;
    flex: 1;
}

.kiosk-shell-premium .kiosk-loader-box {
    min-height: 50vh;
    flex: 1;
}

.kiosk-header-premium {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    flex-shrink: 0;
    background: #f8faf8;
    padding: 1.5rem 2rem;
    border-bottom: 2px solid #edf2ee;
}

.kiosk-header-premium__right {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-shrink: 0;
}

.kiosk-avatar-premium {
    width: clamp(56px, 12vw, 80px);
    height: clamp(56px, 12vw, 80px);
    background: #2e7d32;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    font-weight: 800;
    flex-shrink: 0;
}

.step-indicator-premium {
    background: #e0e8e2;
    color: #2e7d32;
    font-size: clamp(1rem, 2.8vw, 1.5rem);
    font-weight: 800;
    padding: 0.6rem 1.25rem;
    border-radius: 20px;
    white-space: nowrap;
}

.kiosk-content-premium {
    padding: 1.75rem 2rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.kiosk-content-premium .step-main-title {
    font-weight: 800 !important;
    color: #1a1a1a;
    text-align: center;
    margin-bottom: 1.75rem;
    font-size: clamp(1.35rem, 4vw, 2rem) !important;
    line-height: 1.2 !important;
}

/* Premium touch cards (region / job) — extends shared kiosk-touch-card-modern */
.kiosk-shell-premium .kiosk-touch-card-modern {
    min-height: clamp(160px, 28vw, 250px);
    padding: clamp(1.25rem, 3vw, 2.5rem) !important;
    gap: clamp(0.75rem, 1.6vw, 1.1rem);
}

.kiosk-job-type-grid .kiosk-touch-card-modern {
    min-height: clamp(150px, 24vw, 220px);
    padding: clamp(0.85rem, 2vw, 1.45rem) !important;
}

.kiosk-shell-premium .kiosk-touch-card-modern .card-icon {
    font-size: clamp(3rem, 10vw, 6rem);
    color: #1b5e20;
    filter: drop-shadow(0 8px 14px rgba(27, 94, 32, 0.16));
}

.kiosk-shell-premium .card-img-wrap {
    width: 100%;
    height: clamp(120px, 22vw, 250px);
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 0;
    border: 1px solid rgba(27, 94, 32, 0.12);
    box-shadow: inset 0 -40px 70px rgba(0, 0, 0, 0.18), 0 10px 26px rgba(15, 23, 42, 0.12);
}

.kiosk-job-type-grid .card-img-wrap {
    height: clamp(95px, 17vw, 180px);
}

.kiosk-shell-premium .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kiosk-shell-premium .card-text {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(58px, 7vw, 82px);
    padding: clamp(0.75rem, 1.8vw, 1.05rem) clamp(0.85rem, 2vw, 1.25rem);
    border-radius: 18px;
    border: 1px solid rgba(27, 94, 32, 0.13);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 243, 0.98));
    color: #102a1d;
    font-family: 'Inter', sans-serif;
    font-size: clamp(1.1rem, 2.8vw, 1.55rem);
    font-weight: 900;
    line-height: 1.14;
    letter-spacing: -0.02em;
    text-wrap: balance;
    overflow-wrap: anywhere;
    box-shadow: 0 8px 20px rgba(15, 74, 58, 0.08);
}

.kiosk-job-type-grid .card-text {
    min-height: clamp(52px, 6vw, 72px);
    font-size: clamp(1rem, 2.2vw, 1.35rem);
}

.kiosk-shell-premium .kiosk-touch-card-modern--selected .card-text {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
}

.kiosk-shell-premium .kiosk-touch-card-modern--selected .card-img-wrap {
    border-color: rgba(255, 255, 255, 0.26);
    box-shadow: inset 0 -40px 70px rgba(0, 0, 0, 0.24), 0 12px 30px rgba(0, 0, 0, 0.18);
}

/* Sıra kartları */
.kiosk-shell-premium .kiosk-sira-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(clamp(86px, 10.5vw, 112px), 1fr));
    gap: clamp(0.45rem, 1vw, 0.7rem);
    align-items: start;
}

.kiosk-shell-premium .kiosk-sira-card {
    position: relative;
    border-radius: 20px !important;
    border: 3px solid #edf2ee !important;
    background: #ffffff !important;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(0.45rem, 1.2vw, 0.7rem) !important;
    cursor: pointer;
    transition: all 0.15s ease !important;
}

.kiosk-shell-premium .kiosk-sira-card--selected {
    border-color: #2e7d32 !important;
    background: #2e7d32 !important;
    box-shadow: 0 12px 32px rgba(46, 125, 50, 0.3) !important;
    transform: scale(1.03) !important;
}

.kiosk-shell-premium .sira-number-massive {
    font-size: clamp(1.65rem, 4.2vw, 2.6rem);
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1;
}

.kiosk-shell-premium .sira-label-small {
    font-size: clamp(0.58rem, 1.4vw, 0.82rem);
    font-weight: 700;
    color: #8a9f8d;
    letter-spacing: 2px;
    margin-top: 0.16rem;
}

.kiosk-shell-premium .kiosk-sira-card--selected .sira-number-massive,
.kiosk-shell-premium .kiosk-sira-card--selected .sira-label-small {
    color: #ffffff !important;
}

.kiosk-shell-premium .kiosk-sira-card--assigned {
    border-color: #81c784 !important;
    box-shadow: 0 4px 16px rgba(46, 125, 50, 0.08) !important;
}

.kiosk-shell-premium .kiosk-sira-card--completed-today {
    border-color: #f57c00 !important;
    background: #fff3e0 !important;
}

.kiosk-shell-premium .kiosk-sira-card--completed-today .sira-number-massive {
    color: #e65100;
}

.kiosk-shell-premium .kiosk-sira-card--completed-today .sira-label-small {
    color: #ef6c00;
}

.kiosk-shell-premium .sira-assigned-badge,
.kiosk-shell-premium .sira-completed-badge,
.kiosk-shell-premium .sira-half-badge {
    position: absolute;
    top: 0.28rem;
    right: 0.28rem;
    font-size: clamp(0.52rem, 1.25vw, 0.72rem);
    font-weight: 800;
    padding: 0.12rem 0.34rem;
    border-radius: 999px;
    line-height: 1.2;
    color: #ffffff;
}

.kiosk-shell-premium .sira-assigned-badge {
    background: #2e7d32;
}

.kiosk-shell-premium .sira-completed-badge {
    background: #f57c00;
}

.kiosk-shell-premium .sira-half-badge {
    background: #0277bd;
}

.kiosk-shell-premium .kiosk-sira-card--half-today {
    border-color: #4fc3f7;
    background: #e1f5fe;
}

.kiosk-shell-premium .sira-qty-remaining-hint {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0277bd;
}

/* Miktar adımı */
.kiosk-shell-premium .bulk-qty-bar {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.kiosk-shell-premium .bulk-qty-btn {
    flex: 1;
    min-width: 140px;
    min-height: 72px !important;
    font-size: clamp(1rem, 2.5vw, 1.4rem) !important;
    font-weight: 800 !important;
    border-radius: 20px !important;
}

.kiosk-shell-premium .bulk-qty-btn-full {
    background-color: #2e7d32 !important;
    color: #ffffff !important;
}

.kiosk-shell-premium .bulk-qty-btn-half {
    background-color: #f57c00 !important;
    color: #ffffff !important;
}

.kiosk-shell-premium .sira-qty-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.kiosk-shell-premium .sira-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.85rem 1rem;
    border-radius: 20px;
    border: 2px solid #edf2ee;
    background: #fafcfa;
}

.kiosk-shell-premium .sira-qty-label {
    font-size: clamp(1.1rem, 3vw, 1.75rem);
    font-weight: 900;
    color: #1a1a1a;
    min-width: 5rem;
}

.kiosk-shell-premium .sira-qty-actions {
    display: flex;
    gap: 0.5rem;
    flex: 1;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.kiosk-shell-premium .qty-pick {
    flex: 1;
    min-width: 100px;
    min-height: 64px;
    border-radius: 18px;
    border: 3px solid #c8d6cb;
    background: #ffffff;
    font-size: clamp(0.95rem, 2.8vw, 1.5rem);
    font-weight: 900;
    cursor: pointer;
    padding: 0.5rem 0.65rem;
}

.kiosk-shell-premium .qty-pick-full.active {
    border-color: #2e7d32;
    background: #2e7d32;
    color: #ffffff;
}

.kiosk-shell-premium .qty-pick-half.active {
    border-color: #f57c00;
    background: #f57c00;
    color: #ffffff;
}

/* Sayfalama */
.kiosk-shell-premium .kiosk-pagination-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #f8faf8;
    padding: 0.65rem;
    border-radius: 20px;
    border: 2px solid #edf2ee;
}

.kiosk-shell-premium .pager-btn {
    height: clamp(56px, 12vw, 80px) !important;
    width: clamp(56px, 14vw, 100px) !important;
    min-width: 56px !important;
    border-radius: 16px !important;
    flex-shrink: 0;
}

.kiosk-shell-premium .pager-chips {
    flex: 1;
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0.25rem;
    min-width: 0;
    -webkit-overflow-scrolling: touch;
}

.kiosk-shell-premium .pager-chip {
    flex-shrink: 0;
    min-width: clamp(88px, 18vw, 140px);
    height: clamp(52px, 11vw, 70px);
    border-radius: 16px;
    font-size: clamp(1rem, 2.8vw, 1.5rem);
    font-weight: 800;
    background: #ffffff;
    border: 2px solid #c8d6cb;
    color: #5c6b61;
    cursor: pointer;
}

.kiosk-shell-premium .pager-chip.active {
    background: #2e7d32;
    border-color: #2e7d32;
    color: #ffffff;
}

/* Footer */
.kiosk-footer-premium {
    display: flex;
    justify-content: space-between;
    flex-shrink: 0;
    padding: 1rem 1.5rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    background: #ffffff;
    border-top: 2px solid #edf2ee;
    gap: 1rem;
}

.kiosk-btn-footer {
    height: clamp(56px, 12vw, 90px) !important;
    font-size: clamp(0.95rem, 3vw, 1.8rem) !important;
    font-weight: 900 !important;
    border-radius: 20px !important;
    flex: 1;
}

.kiosk-btn-massive {
    height: clamp(64px, 14vw, 110px) !important;
    font-size: clamp(1rem, 3.5vw, 2.2rem) !important;
    font-weight: 900 !important;
    border-radius: 24px !important;
}

.kiosk-btn-massive .mud-button-label,
.kiosk-btn-footer .mud-button-label {
    white-space: normal !important;
    word-break: break-word;
    text-align: center;
}

.kiosk-btn-massive .mud-icon-root {
    font-size: clamp(1.5rem, 5vw, 3rem) !important;
}

.kiosk-btn-footer .mud-icon-root {
    font-size: clamp(1.25rem, 4vw, 2rem) !important;
}

.kiosk-shell-premium .save-btn-pulse {
    animation: pulse-green-premium 2s infinite;
}

@keyframes pulse-green-premium {
    0% { box-shadow: 0 0 0 0 rgba(46, 125, 50, 0.4); }
    70% { box-shadow: 0 0 0 24px rgba(46, 125, 50, 0); }
    100% { box-shadow: 0 0 0 0 rgba(46, 125, 50, 0); }
}

/* Hata / başarı */
.kiosk-error-box-premium,
.kiosk-success-box-premium {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(2rem, 6vw, 4rem);
    flex: 1;
    min-height: 50vh;
}

.kiosk-error-box-premium h2 {
    font-size: clamp(1.75rem, 5vw, 3rem);
    font-weight: 900;
    color: #d32f2f;
    margin-bottom: 1rem;
}

.kiosk-error-box-premium p {
    font-size: clamp(1.1rem, 3vw, 1.8rem);
    color: #64748b;
}

.kiosk-success-box-premium h2 {
    font-size: clamp(2rem, 6vw, 4rem);
    font-weight: 900;
    color: #1a1a1a;
    margin-bottom: 1rem;
}

.kiosk-success-box-premium p {
    font-size: clamp(1.2rem, 3.5vw, 2rem);
    color: #5c6b61;
}

.kiosk-success-box-premium .success-auto-hint {
    margin-top: 1.5rem !important;
    font-size: clamp(1rem, 2.5vw, 1.4rem) !important;
    color: #94a3b8 !important;
    font-style: italic;
}

.kiosk-success-box-premium .success-icon-pulse {
    width: clamp(120px, 28vw, 220px);
    height: clamp(120px, 28vw, 220px);
    background: #e8f5e9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: #2e7d32;
}

.kiosk-success-box-premium .success-icon-pulse .mud-icon-root {
    font-size: clamp(4rem, 12vw, 8rem) !important;
}

.worker-success-card {
    position: relative;
    width: min(760px, 100%);
    overflow: hidden;
    border-radius: clamp(28px, 5vw, 44px);
    padding: clamp(2rem, 5vw, 3.5rem);
    background:
        radial-gradient(circle at 50% 0%, rgba(110, 231, 183, 0.28), transparent 42%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 246, 0.94));
    border: 1px solid rgba(46, 125, 50, 0.12);
    box-shadow: 0 28px 80px rgba(15, 45, 26, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    isolation: isolate;
    animation: workerSuccessEnter 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.worker-success-card::before {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.62), transparent 42%);
    pointer-events: none;
    z-index: -1;
}

.worker-success-orbit span {
    position: absolute;
    inset: auto;
    border-radius: 999px;
    background: rgba(46, 125, 50, 0.08);
    filter: blur(1px);
    pointer-events: none;
    z-index: -1;
}

.worker-success-orbit span:first-child {
    width: clamp(180px, 35vw, 320px);
    height: clamp(180px, 35vw, 320px);
    top: -90px;
    left: -70px;
}

.worker-success-orbit span:last-child {
    width: clamp(160px, 30vw, 280px);
    height: clamp(160px, 30vw, 280px);
    right: -80px;
    bottom: -95px;
}

.worker-success-icon {
    margin-inline: auto;
    box-shadow: 0 22px 46px rgba(46, 125, 50, 0.2), inset 0 0 0 10px rgba(255, 255, 255, 0.72);
    animation: workerSuccessPulse 1.6s ease-in-out infinite;
}

.worker-success-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(46, 125, 50, 0.1);
    color: #1b5e20;
    font-size: clamp(0.78rem, 1.6vw, 0.95rem);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.worker-success-summary {
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: min(420px, 100%);
    margin-top: 1.1rem;
    padding: 0.85rem 1.15rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(46, 125, 50, 0.12);
    color: #1f3528;
    box-shadow: 0 12px 32px rgba(15, 45, 26, 0.08);
}

.worker-success-summary span {
    font-size: clamp(0.85rem, 1.8vw, 1rem);
    font-weight: 900;
    color: #2e7d32;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.worker-success-summary strong {
    font-size: clamp(1rem, 2.5vw, 1.35rem);
    font-weight: 900;
    line-height: 1.25;
}

@keyframes workerSuccessEnter {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes workerSuccessPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.035);
    }
}

.kiosk-shell-premium .box-count-panel {
    border-radius: 24px;
    border: 3px solid #edf2ee;
    background: #fafcfa;
    padding: clamp(1rem, 3vw, 2rem);
}

.kiosk-shell-premium .box-count-input-wrap {
    max-width: 100%;
    margin: 0 auto;
}

.kiosk-shell-premium .box-count-hint {
    color: #5c6b61 !important;
    font-size: clamp(0.95rem, 2.5vw, 1.15rem) !important;
    line-height: 1.45;
}

.kiosk-shell-premium .box-count-sum-entry {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: clamp(0.35rem, 2vw, 0.85rem);
    width: 100%;
    max-width: 40rem;
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.kiosk-shell-premium .box-count-sum-entry__digit {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: clamp(4.25rem, 14vw, 5.75rem);
    height: clamp(4.25rem, 14vw, 5.75rem);
    min-width: 4.25rem;
    min-height: 4.25rem;
    border-radius: 18px;
    border: 3px solid #c8d9cc;
    background: #fff;
    color: #0f172a;
    font-size: clamp(2.35rem, 7vw, 3.35rem) !important;
    font-weight: 900;
    text-align: center;
    font-variant-numeric: tabular-nums;
    outline: none;
    padding: 0;
    margin: 0;
    line-height: 1;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.8);
}

.kiosk-shell-premium .box-count-sum-entry__digit:focus {
    border-color: #2e7d32;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.18);
}

.kiosk-shell-premium .box-count-sum-entry__digit:disabled {
    opacity: 0.65;
}

.kiosk-shell-premium .box-count-sum-entry__total {
    background: #edf2ee;
    color: #1b5e20;
    border-color: #b7c9bb;
}

.kiosk-shell-premium .box-count-sum-entry__sep {
    flex: 0 0 auto;
    font-size: clamp(2rem, 6vw, 2.85rem);
    font-weight: 900;
    color: #5c6b61;
    line-height: 1;
    user-select: none;
}

.kiosk-shell-premium .box-count-sum-entry__sep--eq {
    color: #2e7d32;
}

.kiosk-shell-premium .box-count-field .mud-input-root {
    font-size: clamp(1.75rem, 8vw, 3.5rem) !important;
    font-weight: 900 !important;
    text-align: center;
}

@media (max-width: 1023px) {
    .kiosk-root-premium {
        padding: 0.5rem;
    }

    .kiosk-shell-premium {
        border-radius: 24px;
    }

    .kiosk-header-premium {
        padding: 1rem 1.25rem;
    }

    .kiosk-content-premium {
        padding: 1.25rem 1rem;
    }

    .kiosk-footer-premium {
        padding: 0.75rem 1rem;
        padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
    }
}

@media (max-width: 768px) {
    .kiosk-root-premium {
        padding: 0;
        height: 100dvh;
    }

    .kiosk-shell-premium {
        border-radius: 0;
        box-shadow: none;
        max-width: 100%;
    }

    .kiosk-header-premium {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .kiosk-header-premium > .d-flex {
        justify-content: center;
    }

    .kiosk-header-premium .step-indicator-premium {
        align-self: center;
    }

    .kiosk-header-premium__right {
        justify-content: center;
        flex-wrap: wrap;
    }

    .kiosk-footer-premium {
        flex-direction: column;
    }

    .kiosk-btn-footer {
        width: 100%;
        max-width: 100%;
    }

    .kiosk-shell-premium .sira-qty-row {
        flex-direction: column;
        align-items: stretch;
    }

    .kiosk-shell-premium .sira-qty-actions {
        justify-content: stretch;
    }

    .kiosk-shell-premium .qty-pick {
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .kiosk-job-type-grid__item {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}

/* ——— Kroki: bölge seçimi (tıklanabilir tam kroki) ——— */
.kiosk-shell-premium:has(.kiosk-region-step) .kiosk-content-premium {
    flex: 1 1 0%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 1rem 1.25rem 1.25rem;
}

.kiosk-region-step {
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    min-height: 0;
    gap: 0.65rem;
}

.kiosk-region-step__title {
    font-weight: 800 !important;
    color: #1a1a1a !important;
    text-align: center;
    margin: 0 !important;
    font-size: clamp(1.25rem, 3.8vw, 1.75rem) !important;
    line-height: 1.2 !important;
    flex-shrink: 0;
}

.kiosk-region-step__hint {
    text-align: center;
    color: #5c6b61 !important;
    font-weight: 700 !important;
    margin: 0 !important;
    flex-shrink: 0;
}

.kiosk-region-step__map {
    flex: 1 1 0%;
    min-height: 0;
    display: flex;
    border-radius: 24px;
    border: 2px solid #c8e6c9;
    background: linear-gradient(180deg, #f8faf8 0%, #eef5ee 100%);
    padding: 0.75rem;
    overflow: hidden;
}

.kiosk-region-step__map .worker-kroki-root {
    flex: 1;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.kiosk-region-step__map .worker-kroki-zoom-host,
.kiosk-region-step__map .worker-kroki-scroll--fill {
    flex: 1;
    min-height: 0;
    height: 100%;
}

.kiosk-region-step__map .worker-kroki-scroll--fill {
    overflow: hidden;
}

.kiosk-shell-premium:has(.kiosk-sira-step) .kiosk-content-premium {
    flex: 1 1 0%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.kiosk-sira-step {
    display: flex;
    flex-direction: column;
    flex: 1 1 0%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

.kiosk-sira-step .kiosk-pagination-bar {
    flex-shrink: 0;
    margin-bottom: 0 !important;
    padding: 0.5rem 0.75rem;
    background: #ffffff;
    border-bottom: 2px solid #edf2ee;
}

.kiosk-sira-step .sira-grid-area {
    flex: 1 1 0%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.6rem 0.7rem 0.85rem;
}

.kiosk-sira-instruction {
    flex-shrink: 0;
    text-align: center;
    padding: 0.85rem 1rem;
    background: #f8faf8;
    border-bottom: 2px solid #edf2ee;
}

.kiosk-sira-instruction__title {
    font-weight: 800 !important;
    color: #1a1a1a !important;
    font-size: clamp(1.1rem, 3.2vw, 1.5rem) !important;
    line-height: 1.25 !important;
}

.kiosk-sira-instruction__region {
    font-weight: 800 !important;
    color: #2e7d32 !important;
    margin-top: 0.2rem !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.kiosk-sira-instruction__count {
    font-weight: 800 !important;
    color: #2e7d32 !important;
    margin-top: 0.25rem !important;
}

.kiosk-sira-show-all {
    margin-top: 0.55rem;
    min-height: 44px;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    border: 2px solid rgba(46, 125, 50, 0.22);
    background: #ffffff;
    color: #1b5e20;
    font-size: clamp(0.9rem, 2vw, 1.05rem);
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 45, 26, 0.08);
}

.kiosk-sira-show-all:active {
    transform: scale(0.98);
}

.kiosk-sira-quick-nav {
    flex-shrink: 0;
    padding: 0.65rem 0.75rem 0.5rem;
    background: #ffffff;
    border-bottom: 2px solid #edf2ee;
}

.kiosk-sira-tunnel-chips {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.6rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    margin-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.kiosk-sira-tunnel-chip {
    flex: 0 0 auto;
    min-height: 3.25rem;
    min-width: 6.5rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    border: 3px solid #c8d6cb;
    background: #ffffff;
    color: #1a1a1a;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(0.95rem, 2.6vw, 1.15rem);
    font-weight: 800;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.kiosk-sira-tunnel-chip.active {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
    box-shadow: 0 6px 18px rgba(46, 125, 50, 0.22);
}

.kiosk-sira-range-nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.kiosk-sira-range-arrow {
    flex: 0 0 auto;
    min-width: 3.25rem !important;
    width: 3.25rem !important;
    height: 3.25rem !important;
    min-height: 3.25rem !important;
    border-radius: 14px !important;
    padding: 0 !important;
}

.kiosk-sira-quick-nav .sira-quick-nav-scroll {
    flex: 1;
    min-width: 0;
    padding-bottom: 0.15rem;
    margin-bottom: 0;
}

.kiosk-sira-quick-nav .sira-quick-nav-chip {
    min-height: 3.25rem;
    min-width: 5.5rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    border: 3px solid #c8d6cb;
    background: #ffffff;
    color: #3d4f44;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(0.95rem, 2.6vw, 1.2rem);
    font-weight: 800;
    cursor: pointer;
}

.kiosk-sira-quick-nav .sira-quick-nav-chip.active {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
}

.kiosk-sira-map {
    flex: 1 1 0%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.65rem 0.85rem;
    -webkit-overflow-scrolling: touch;
}

.kiosk-sira-sticky-footer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.65rem 0.85rem;
    padding-bottom: max(0.65rem, env(safe-area-inset-bottom, 0px));
    background: #ffffff;
    border-top: 2px solid #c8e6c9;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.06);
    z-index: 6;
}

.kiosk-sira-sticky-footer .kiosk-sira-complete-btn {
    height: clamp(56px, 11vw, 76px) !important;
    font-size: clamp(0.95rem, 2.8vw, 1.35rem) !important;
}

.kiosk-sira-sticky-footer .kiosk-sira-back-btn {
    height: clamp(48px, 9vw, 64px) !important;
    font-size: clamp(0.9rem, 2.5vw, 1.15rem) !important;
}

.kiosk-shell-premium:has(.kiosk-sira-step) .kiosk-footer-premium {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .kiosk-shell-premium .save-btn-pulse {
        animation: none;
    }

    .kiosk-shell-premium .kiosk-touch-card-modern,
    .kiosk-shell-premium .kiosk-sira-card {
        transition: none !important;
    }
}

/* =========================================================
   AGRYNEA PREMIUM KIOSK OVERRIDES — fast tablet-safe polish
   ========================================================= */

body:has(.kiosk-root-premium) {
    background:
        radial-gradient(circle at 14% 0%, rgba(46, 125, 50, 0.12), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(15, 118, 110, 0.1), transparent 28%),
        #eef5ef;
}

.kiosk-root-premium {
    background:
        linear-gradient(135deg, rgba(7, 42, 28, 0.08), transparent 42%),
        linear-gradient(315deg, rgba(46, 125, 50, 0.08), transparent 46%);
}

.kiosk-shell-premium {
    max-width: 1240px;
    border: 1px solid rgba(15, 74, 58, 0.1);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 249, 0.98));
    box-shadow:
        0 26px 70px rgba(15, 45, 26, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

.kiosk-header-premium {
    position: relative;
    background:
        radial-gradient(circle at 0% 0%, rgba(46, 125, 50, 0.16), transparent 38%),
        linear-gradient(135deg, #ffffff 0%, #f2faf4 100%);
    border-bottom: 1px solid rgba(46, 125, 50, 0.12);
}

.kiosk-header-premium::after {
    content: '';
    position: absolute;
    left: 2rem;
    right: 2rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(46, 125, 50, 0.22), transparent);
}

.kiosk-avatar-premium {
    background:
        radial-gradient(circle at 35% 20%, rgba(255, 255, 255, 0.28), transparent 30%),
        linear-gradient(145deg, #1b5e20, #37a04a);
    box-shadow:
        0 14px 30px rgba(46, 125, 50, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.step-indicator-premium {
    background: #173f34;
    color: #ecfdf5;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 10px 22px rgba(15, 74, 58, 0.18);
}

.kiosk-content-premium {
    background:
        radial-gradient(circle at 50% 0%, rgba(46, 125, 50, 0.08), transparent 36%),
        linear-gradient(180deg, #fbfefc 0%, #f5faf6 100%);
}

.kiosk-region-step__title,
.kiosk-content-premium .step-main-title {
    color: #102d24 !important;
    letter-spacing: -0.045em;
}

.kiosk-region-step__hint {
    color: #60766a !important;
}

.kiosk-region-step__map,
.kiosk-shell-premium .box-count-panel {
    border-color: rgba(46, 125, 50, 0.16);
    background:
        radial-gradient(circle at 50% 0%, rgba(46, 125, 50, 0.08), transparent 40%),
        #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 12px 30px rgba(15, 45, 26, 0.06);
}

.kiosk-shell-premium .kiosk-touch-card-modern {
    border-width: 2px !important;
    border-color: rgba(46, 125, 50, 0.16) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%) !important;
    box-shadow:
        0 14px 28px rgba(15, 45, 26, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.kiosk-shell-premium .kiosk-touch-card-modern:active {
    transform: scale(0.985);
}

.kiosk-shell-premium .kiosk-touch-card-modern--selected {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.22), transparent 38%),
        linear-gradient(145deg, #1b5e20, #2e7d32) !important;
    border-color: #1b5e20 !important;
    box-shadow:
        0 18px 38px rgba(46, 125, 50, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

.kiosk-shell-premium .card-img-wrap {
    border-radius: 22px;
    border: 1px solid rgba(46, 125, 50, 0.12);
}

.kiosk-shell-premium .card-text {
    border-radius: 18px;
    background: rgba(46, 125, 50, 0.06);
}

.kiosk-sira-instruction,
.kiosk-sira-step .kiosk-pagination-bar,
.kiosk-sira-quick-nav,
.kiosk-sira-sticky-footer {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 249, 0.98));
    border-color: rgba(46, 125, 50, 0.12);
}

.kiosk-shell-premium .kiosk-sira-card {
    border-width: 2px !important;
    border-color: rgba(46, 125, 50, 0.14) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(46, 125, 50, 0.06), transparent 45%),
        #ffffff !important;
    box-shadow: 0 8px 20px rgba(15, 45, 26, 0.06) !important;
    transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.kiosk-shell-premium .kiosk-sira-card:active {
    transform: scale(0.97);
}

.kiosk-shell-premium .kiosk-sira-card--selected {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.2), transparent 42%),
        #2e7d32 !important;
    border-color: #1b5e20 !important;
}

.kiosk-shell-premium .kiosk-sira-card--completed-today {
    background:
        radial-gradient(circle at 50% 0%, rgba(245, 124, 0, 0.12), transparent 42%),
        #fff8ed !important;
}

.kiosk-shell-premium .sira-qty-row {
    background: linear-gradient(180deg, #ffffff, #f8fcf9);
    border-color: rgba(46, 125, 50, 0.12);
    box-shadow: 0 10px 24px rgba(15, 45, 26, 0.06);
}

.kiosk-shell-premium .qty-pick {
    transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.kiosk-shell-premium .qty-pick:active {
    transform: scale(0.985);
}

.kiosk-btn-massive,
.kiosk-btn-footer,
.kiosk-shell-premium .pager-btn,
.kiosk-shell-premium .pager-chip,
.kiosk-shell-premium .bulk-qty-btn,
.kiosk-sira-tunnel-chip,
.kiosk-sira-quick-nav .sira-quick-nav-chip {
    letter-spacing: -0.02em;
    box-shadow: 0 12px 26px rgba(15, 45, 26, 0.08) !important;
}

.kiosk-shell-premium .save-btn-pulse {
    animation: saveButtonBreath 2.2s ease-in-out infinite;
    will-change: transform;
}

.worker-success-card {
    border-color: rgba(46, 125, 50, 0.16);
    background:
        radial-gradient(circle at 50% 0%, rgba(74, 222, 128, 0.18), transparent 42%),
        linear-gradient(180deg, #ffffff, #f6fbf7);
}

.worker-success-icon {
    animation: workerSuccessSoftPulse 1.8s ease-in-out infinite;
}

@keyframes saveButtonBreath {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.012); }
}

@keyframes workerSuccessSoftPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.025); }
}

.kiosk-bottom-dock {
    position: fixed;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    z-index: 12040;
    display: flex;
    align-items: flex-end;
    gap: 0;
    pointer-events: none;
}

body:has(.attendance-kiosk-page) .kiosk-bottom-dock {
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: 12030;
}

body:has(.attendance-kiosk-page) .kiosk-offline-readiness {
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    padding-left: max(0.9rem, env(safe-area-inset-left, 0px));
    min-height: 3.35rem;
    align-items: center;
}

.kiosk-top-drawer {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12058;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

body:has(.kiosk-top-status-bar) .kiosk-top-drawer,
body:has(.kiosk-top-sync-panel) .kiosk-top-drawer {
    top: 2.65rem;
}

.kiosk-top-drawer__handle {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    height: 1.15rem;
    padding: 0 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-top: none;
    border-radius: 0 0 12px 12px;
    background: rgba(8, 21, 16, 0.78);
    color: rgba(255, 255, 255, 0.82);
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.kiosk-top-drawer__handle:hover,
.kiosk-top-drawer__handle:focus-visible {
    color: #fff;
    background: rgba(12, 28, 22, 0.9);
    outline: none;
}

.kiosk-top-drawer__panel {
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 0.85rem;
    border-radius: 0 0 14px 14px;
    background: rgba(8, 21, 16, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-top: none;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    transition: max-height 0.22s ease, opacity 0.18s ease, padding 0.22s ease;
}

.kiosk-top-drawer--open .kiosk-top-drawer__panel {
    pointer-events: auto;
    max-height: 2.8rem;
    opacity: 1;
    padding: 0.42rem 0.85rem 0.55rem;
}

.kiosk-top-drawer__version {
    white-space: nowrap;
    opacity: 0.9;
}

.kiosk-top-drawer__logout {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
    padding: 0.2rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.94);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.kiosk-top-drawer__logout:hover,
.kiosk-top-drawer__logout:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    outline: none;
}

.kiosk-session-chrome {
    position: fixed;
    z-index: 12056;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    pointer-events: none;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
}

.kiosk-session-chrome--bottom-trailing {
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.65rem, env(safe-area-inset-bottom));
    padding: 0.22rem 0.48rem;
    border-radius: 999px;
    background: rgba(6, 16, 12, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.68rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.kiosk-session-chrome--top-leading {
    top: max(0.72rem, env(safe-area-inset-top, 0px));
    left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding: 0.3rem 0.35rem 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(8, 21, 16, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.64rem;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body:has(.attendance-kiosk-page):has(.kiosk-top-status-bar) .kiosk-session-chrome--top-leading,
body:has(.attendance-kiosk-page):has(.kiosk-top-sync-panel) .kiosk-session-chrome--top-leading {
    display: none;
}

.kiosk-session-chrome--with-logout {
    pointer-events: auto;
}

.kiosk-session-chrome__version {
    opacity: 0.88;
    white-space: nowrap;
}

.kiosk-session-chrome__logout {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}

.kiosk-session-chrome--top-leading .kiosk-session-chrome__logout {
    padding: 0.18rem 0.5rem 0.18rem 0.42rem;
    margin-left: 0.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.62rem;
    letter-spacing: 0.03em;
}

.kiosk-session-chrome__logout:hover,
.kiosk-session-chrome__logout:focus-visible {
    color: #fff;
    outline: none;
}

.kiosk-session-chrome--top-leading .kiosk-session-chrome__logout:hover,
.kiosk-session-chrome--top-leading .kiosk-session-chrome__logout:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.22);
}

.kiosk-bottom-dock > * {
    pointer-events: auto;
}

.kiosk-bottom-dock:has(.kiosk-offline-readiness--splash) .kiosk-collapsible-logout {
    visibility: hidden;
    pointer-events: none;
}

.kiosk-collapsible-logout {
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
    margin-right: -1px;
}

.kiosk-collapsible-logout__tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    padding: 0.55rem 0.35rem;
    border: 1px solid rgba(100, 116, 139, 0.35);
    border-radius: 10px 0 0 10px;
    background: rgba(255, 255, 255, 0.92);
    color: rgba(71, 85, 105, 0.85);
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

.kiosk-collapsible-logout__action {
    border: 1px solid rgba(100, 116, 139, 0.35);
    border-left: none;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.95);
    color: rgba(71, 85, 105, 0.9);
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
}

.kiosk-collapsible-logout--expanded .kiosk-collapsible-logout__tab {
    border-radius: 10px 0 0 0;
}

.kiosk-collapsible-logout--expanded .kiosk-collapsible-logout__action {
    border-radius: 0 0 0 10px;
}

body:has(.attendance-kiosk-page) .kiosk-collapsible-logout__tab,
body:has(.attendance-kiosk-page) .kiosk-collapsible-logout__action {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(226, 232, 240, 0.25);
    color: rgba(226, 232, 240, 0.92);
}

.kiosk-offline-readiness {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    flex: 1;
    min-width: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.9rem;
    border-radius: 12px;
    font-size: 0.92rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    pointer-events: auto;
}

.kiosk-offline-readiness__main {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    flex: 1;
    min-width: 0;
}

.kiosk-offline-readiness--warming {
    background: #fff8e1;
    color: #5d4037;
    border: 1px solid #ffcc80;
}

.kiosk-offline-readiness--ready {
    background: #e8f5e9;
    color: #1b5e20;
    border: 1px solid #81c784;
}

.kiosk-offline-readiness--warn {
    background: #fbe9e7;
    color: #bf360c;
    border: 1px solid #ffab91;
}

.kiosk-offline-readiness__text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.kiosk-offline-readiness__meta {
    font-size: 0.82rem;
    opacity: 0.85;
}

.kiosk-offline-readiness__meta--activity {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.kiosk-offline-readiness__activity-spinner {
    flex-shrink: 0;
    width: 14px !important;
    height: 14px !important;
}

.kiosk-offline-readiness__spinner {
    flex-shrink: 0;
    margin-top: 2px;
}

.kiosk-offline-readiness__refresh {
    flex-shrink: 0;
    margin-left: 0.35rem;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-width: 44px;
    min-height: 44px;
    padding: 0 0.65rem;
    border: 1px solid rgba(27, 94, 32, 0.25);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #1b5e20;
    cursor: pointer;
    position: relative;
    z-index: 5;
    pointer-events: auto;
    touch-action: manipulation;
    font-size: 0.78rem;
    font-weight: 700;
}

.kiosk-offline-readiness__refresh span {
    white-space: nowrap;
}

.kiosk-offline-readiness__refresh:disabled {
    opacity: 0.65;
    cursor: wait;
}

.kiosk-offline-chrome {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 12025;
}

.kiosk-offline-chrome__border {
    position: absolute;
    inset: 0;
    border: 0 solid #e65100;
    transition: border-width 0.45s ease, border-color 0.45s ease;
    box-shadow: inset 0 0 0 0 rgba(230, 81, 0, 0);
}

.kiosk-offline-chrome--active .kiosk-offline-chrome__border {
    border-width: 5px;
    border-color: #e65100;
    box-shadow: inset 0 0 24px rgba(230, 81, 0, 0.12);
}

.kiosk-offline-readiness--offline-active {
    background: #fff3e0;
    color: #e65100;
    border: 1px solid #ffb74d;
}

.kiosk-offline-readiness--splash {
    z-index: 12060;
    position: fixed;
    inset: auto 12px 12px 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    animation: kioskOfflineReadinessSplash 2.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

body:has(.attendance-kiosk-page) .kiosk-offline-readiness--splash {
    inset: auto 0 0 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
}

.kiosk-offline-readiness__splash-icon {
    font-size: 2.5rem !important;
}

.kiosk-offline-readiness__text--splash {
    align-items: center;
}

@keyframes kioskOfflineReadinessSplash {
    0% {
        inset: auto 12px 12px 12px;
        top: auto;
        border-radius: 12px;
        opacity: 1;
        background: #e8f5e9;
        color: #1b5e20;
        border-color: #81c784;
    }
    28% {
        inset: 0;
        border-radius: 0;
        opacity: 1;
        background: #e8f5e9;
        color: #1b5e20;
    }
    48% {
        inset: 0;
        border-radius: 0;
        opacity: 1;
        background: #fff3e0;
        color: #e65100;
        border-color: #ffb74d;
    }
    72% {
        inset: 0;
        background: rgba(255, 243, 224, 0.88);
        opacity: 0.85;
    }
    100% {
        inset: 0;
        background: transparent;
        opacity: 0;
        visibility: hidden;
        border-color: transparent;
    }
}

.kiosk-top-status-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 12050;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.55rem 4.5rem 0.55rem 1rem;
    font-weight: 600;
    font-size: 0.92rem;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

.kiosk-top-status-bar--offline {
    background: linear-gradient(90deg, #bf360c 0%, #e65100 100%);
    color: #fff;
}

.kiosk-top-status-bar--server-unreachable {
    background: linear-gradient(90deg, #e65100 0%, #f9a825 100%);
    color: #fff;
}

.kiosk-top-status-bar--pending {
    background: linear-gradient(90deg, #1b5e20 0%, #2e7d32 100%);
    color: #fff;
}

.kiosk-top-pending-badge {
    position: fixed;
    top: max(10px, env(safe-area-inset-top, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    z-index: 12055;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 2.1rem;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: #1b5e20;
    color: #fff;
    font-weight: 800;
    font-size: 0.88rem;
    box-shadow: 0 4px 14px rgba(27, 94, 32, 0.35);
    transform-origin: center center;
    will-change: transform, box-shadow;
}

@keyframes kiosk-pending-badge-queued {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 14px rgba(27, 94, 32, 0.35);
    }

    28% {
        transform: scale(1.2);
        box-shadow: 0 0 0 5px rgba(129, 199, 132, 0.55), 0 8px 22px rgba(27, 94, 32, 0.5);
    }

    55% {
        transform: scale(1.08);
        box-shadow: 0 0 0 12px rgba(129, 199, 132, 0), 0 6px 18px rgba(27, 94, 32, 0.4);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 4px 14px rgba(27, 94, 32, 0.35);
    }
}

.kiosk-top-pending-badge--queued-pulse {
    animation: kiosk-pending-badge-queued 0.62s cubic-bezier(0.34, 1.35, 0.64, 1);
}

.kiosk-top-sync-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 12052;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.65rem 1rem 0.75rem;
    color: #fff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
}

.kiosk-top-sync-panel--syncing {
    background: linear-gradient(135deg, #1565c0 0%, #1e88e5 55%, #42a5f5 100%);
}

.kiosk-top-sync-panel--success {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 55%, #43a047 100%);
}

.kiosk-top-sync-panel--failed {
    background: linear-gradient(135deg, #b71c1c 0%, #c62828 55%, #e53935 100%);
}

.kiosk-top-sync-panel__header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.kiosk-top-sync-panel__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 0.9rem;
}

.kiosk-top-sync-panel__text span {
    opacity: 0.92;
    font-size: 0.82rem;
    font-weight: 500;
}

.kiosk-top-sync-panel__progress {
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    overflow: hidden;
}

.kiosk-top-sync-panel__progress-fill {
    height: 100%;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.95);
    transition: width 0.25s ease;
}

.kiosk-offline-sync-banner {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .kiosk-shell-premium .save-btn-pulse,
    .worker-success-card,
    .worker-success-icon,
    .kiosk-offline-readiness--splash,
    .kiosk-top-pending-badge--queued-pulse {
        animation: none !important;
    }
    .kiosk-nfc-icon,
    .kiosk-sira-card--pulse {
        animation: none !important;
    }

    .kiosk-shell-premium .kiosk-touch-card-modern,
    .kiosk-shell-premium .kiosk-sira-card,
    .kiosk-shell-premium .qty-pick {
        transition: none !important;
    }
}

/* Kroki bölge seçimi — worker-kiosk içinde gömülü (çevrimdışı CSS yedeği) */
.kiosk-region-step__map .kroki-flex-body {
    display: grid;
    gap: 14px;
    align-items: stretch;
    min-width: min-content;
}

.kiosk-region-step__map .worker-kroki--region-pick {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.kiosk-region-step__map .worker-kroki--region-pick .worker-kroki-zoom-host,
.kiosk-region-step__map .worker-kroki--region-pick .worker-kroki-scroll--fill {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.kiosk-region-step__map .worker-kroki--region-pick .kroki-flex-body--region-pick {
    flex: 1 1 auto;
    height: 100%;
    min-height: clamp(200px, 38vh, 480px);
    align-items: stretch;
}

.kiosk-region-step__map .worker-kroki-region-pick {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: clamp(180px, 36vh, 420px);
    padding: 0.65rem;
    border: 3px solid #c8e6c9;
    border-radius: 20px;
    background: linear-gradient(180deg, #e8f5e9 0%, #f1f8f4 42%, #dcefe0 100%);
    cursor: pointer;
    font-family: inherit;
    box-shadow: 0 8px 24px rgba(46, 125, 50, 0.08);
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
}

.kiosk-region-step__map .worker-kroki-region-pick::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(
        180deg,
        rgba(200, 230, 201, 0.28) 0%,
        rgba(232, 245, 233, 0.12) 38%,
        rgba(165, 214, 167, 0.34) 100%);
    pointer-events: none;
}

.kiosk-region-step__map .worker-kroki-region-pick__silhouette {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: stretch;
    padding: 0.55rem 0.65rem 2.4rem;
    opacity: 0.5;
    pointer-events: none;
}

.kiosk-region-step__map .worker-kroki-region-pick__title {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    font-family: 'Poppins', sans-serif;
    font-weight: 900;
    font-size: clamp(1.85rem, 7vw, 3.25rem);
    line-height: 1.05;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.05em;
    color: #1b5e20;
    text-shadow: 0 2px 12px rgba(255, 255, 255, 0.85);
    pointer-events: none;
}

.kiosk-region-step__map .worker-kroki--region-pick .worker-kroki-katir-silhouette {
    flex: 1 1 0;
    min-height: clamp(14px, 2.8vh, 24px);
    max-height: clamp(24px, 5.5vh, 40px);
    height: auto;
    border-radius: 8px;
    background: linear-gradient(90deg, #a5d6a7 0%, #81c784 100%);
    margin-bottom: 0;
    opacity: 0.85;
}

.kiosk-region-step__map .worker-kroki-region-pick.is-pressed,
.kiosk-region-step__map .worker-kroki-region-pick:active {
    transform: scale(0.98);
    border-color: #2e7d32;
    background: #e8f5e9;
}

/* ---- Offline warm gate (kiosk interaction lock) ---- */
.kiosk-warm-gate {
    position: fixed;
    inset: 0;
    z-index: 12045;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    pointer-events: auto;
    touch-action: none;
}

.kiosk-warm-gate__veil {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 50% 28%, rgba(16, 185, 129, 0.22), transparent 52%),
        linear-gradient(165deg, rgba(4, 14, 10, 0.92), rgba(6, 28, 20, 0.96) 55%, rgba(3, 12, 9, 0.98));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.kiosk-warm-gate__panel {
    position: relative;
    z-index: 1;
    width: min(420px, 92vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 2rem 1.6rem 1.7rem;
    border-radius: 28px;
    border: 1px solid rgba(167, 243, 208, 0.22);
    background:
        radial-gradient(circle at 50% 0%, rgba(52, 211, 153, 0.14), transparent 58%),
        rgba(8, 24, 18, 0.88);
    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.kiosk-warm-gate__mark {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(167, 243, 208, 0.2);
}

.kiosk-warm-gate__mark img {
    width: 36px;
    height: 36px;
    opacity: 0.92;
}

.kiosk-warm-gate__pulse {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #34d399;
    box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.55);
    animation: kioskWarmGatePulse 1.8s ease-out infinite;
}

.kiosk-warm-gate__title {
    margin: 0.35rem 0 0;
    color: #ecfdf5;
    font-size: clamp(1.15rem, 2.8vw, 1.45rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.kiosk-warm-gate__message {
    margin: 0;
    color: rgba(167, 243, 208, 0.88);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.45;
    max-width: 28ch;
}

.kiosk-warm-gate__track {
    width: min(220px, 70%);
    height: 4px;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: rgba(167, 243, 208, 0.14);
    overflow: hidden;
}

.kiosk-warm-gate__fill {
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #34d399, #6ee7b7);
    animation: kioskWarmGateSweep 1.55s ease-in-out infinite;
}

.kiosk-warm-gate__hint {
    margin: 0.15rem 0 0;
    color: rgba(167, 243, 208, 0.55);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.kiosk-warm-gate__retry {
    margin-top: 0.45rem;
    border: 1px solid rgba(167, 243, 208, 0.35);
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.22);
    color: #ecfdf5;
    font-weight: 800;
    font-size: 0.92rem;
    padding: 0.7rem 1.35rem;
    cursor: pointer;
}

.kiosk-warm-gate__retry:disabled {
    opacity: 0.65;
    cursor: wait;
}

.kiosk-warm-gate__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    margin-top: 0.55rem;
    width: min(100%, 16rem);
}

.kiosk-warm-gate__continue {
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ecfdf5;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 0.65rem 1.2rem;
    cursor: pointer;
}

.kiosk-warm-gate__continue:disabled {
    opacity: 0.65;
    cursor: wait;
}

@keyframes kioskWarmGatePulse {
    0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.55); opacity: 1; }
    70% { box-shadow: 0 0 0 16px rgba(52, 211, 153, 0); opacity: 0.85; }
    100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); opacity: 1; }
}

@keyframes kioskWarmGateSweep {
    0% { transform: translateX(-120%); }
    100% { transform: translateX(280%); }
}
