/* =============================================
   Panel - Shared Styles v6.0.0
   ============================================= */

/* Base */
body {
    font-family: 'Inter', sans-serif;
}

/* Product UI v1 — stok sayfasını temel alan ortak sayfa kabuğu */
.ui-page-shell {
    background: rgb(255 255 255 / .95) !important;
    border-bottom: 1px solid rgb(226 232 240) !important;
    box-shadow: 0 1px 3px rgb(15 23 42 / .06) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.dark .ui-page-shell { background: rgb(31 41 55 / .95) !important; border-color: rgb(71 85 105) !important; }

.ui-page-header { min-height: 4.25rem !important; height: auto !important; background: transparent; }
.ui-page-header-inner { min-height: 4.25rem; }
.ui-page-heading { display: flex; min-width: 0; align-items: center; gap: .65rem; }
.ui-page-icon { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; border-radius: .75rem; background: rgb(239 246 255); color: rgb(37 99 235); }
.ui-page-icon.is-rose { background: rgb(255 241 242); color: rgb(225 29 72); }
.ui-page-icon.is-amber { background: rgb(255 251 235); color: rgb(217 119 6); }
.ui-page-icon.is-indigo { background: rgb(238 242 255); color: rgb(79 70 229); }
.ui-page-title { color: rgb(17 24 39); font-size: 1rem !important; font-weight: 800 !important; line-height: 1.25rem; letter-spacing: -.015em; }
.dark .ui-page-title { color: white; }
.ui-page-subtitle { margin-top: .1rem; color: rgb(107 114 128); font-size: .6875rem; line-height: 1rem; }
.ui-page-actions { display: flex; align-items: center; gap: .5rem; }
.ui-page-icon-button { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .65rem; color: rgb(107 114 128); transition: background-color .15s ease, color .15s ease; }
.ui-page-icon-button:hover { background: rgb(243 244 246); color: rgb(37 99 235); }
.ui-page-toolbar { padding-top: .7rem !important; padding-bottom: .7rem !important; background: rgb(248 250 252 / .86) !important; }
.dark .ui-page-toolbar { background: rgb(15 23 42 / .28) !important; }
.ui-stat-chip { display: inline-flex; min-height: 2.4rem; align-items: center; gap: .35rem; border: 1px solid rgb(226 232 240) !important; border-radius: .7rem !important; padding: .45rem .7rem !important; background: white !important; box-shadow: 0 1px 2px rgb(15 23 42 / .03); }
.dark .ui-stat-chip { border-color: rgb(71 85 105) !important; background: rgb(31 41 55) !important; }
.ui-page-toolbar :is(input[type="text"], input[type="date"], select) { min-height: 2.4rem; border-color: rgb(203 213 225) !important; border-radius: .7rem !important; font-size: .75rem; }
.ui-page-toolbar :is(input[type="text"], input[type="date"], select):focus { border-color: rgb(59 130 246) !important; outline: none; box-shadow: 0 0 0 3px rgb(147 197 253 / .25); }
.ui-content-card { overflow: hidden; border: 1px solid rgb(226 232 240) !important; border-radius: .9rem !important; background: white; box-shadow: 0 1px 3px rgb(15 23 42 / .05) !important; }
.dark .ui-content-card { border-color: rgb(71 85 105) !important; background: rgb(31 41 55); }

@media (max-width: 640px) {
    .ui-page-header { min-height: 3.75rem !important; }
    .ui-page-header-inner { min-height: 3.75rem; padding-left: 3.25rem !important; padding-right: .75rem !important; }
    .ui-page-icon { width: 2rem; height: 2rem; }
    .ui-page-subtitle { display: none; }
    .ui-page-toolbar { padding: .55rem .65rem !important; }
    .ui-page-toolbar > div { gap: .45rem !important; }
    .ui-stat-chip { min-height: 2.1rem; padding: .35rem .55rem !important; }
}

/* Sayfa taban rengi — Tailwind CDN async yüklenir; bu olmadan her sayfa
   geçişinde beyaz flash görünür. Tailwind'in bg-gray-50 / dark:bg-gray-900
   renkleriyle eşleşir, böylece geçiş düz olur. */
html { background: #f9fafb; }
html.dark { background: #111827; }

/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.dark ::-webkit-scrollbar-thumb {
    background: #475569;
}

/* No Scrollbar Utility */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Sidebar alanını ÖNCEDEN rezerve et — shared.js sidebar'ı body sonunda enjekte
   ediyor; boş #sidebar-container 0 genişlikteydi, dolunca içerik yatay kayıyordu
   (layout shift). Head'deki bu kuralla genişlik ilk boyamadan itibaren ayrılır.
   Collapsed durumda :has() ile daralır → boşluk kalmaz. */
#sidebar-container {
    flex-shrink: 0;
    width: 16rem;
    transition: width 0.3s ease;
}
#sidebar-container:has(aside.sidebar-collapsed) {
    width: 4.5rem;
}
@media (max-width: 768px) {
    #live-ticker-bar,
    .live-ticker-bar {
        display: none !important;
    }

    body.has-live-ticker {
        padding-bottom: 0 !important;
    }

    #mobile-menu-btn {
        top: max(0.5rem, env(safe-area-inset-top));
        left: max(0.5rem, env(safe-area-inset-left));
        transition: left 0.3s ease, transform 0.15s ease;
    }

    #mobile-menu-btn.is-open {
        left: calc(16rem - 2.75rem);
    }

    #sidebar-container .sidebar-header > button {
        display: none !important;
    }

    #sidebar-container aside {
        height: 100dvh !important;
        max-height: 100dvh;
        min-height: 0;
    }

    #sidebar-container aside > nav {
        min-height: 0;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    #sidebar-user-info {
        position: relative;
        z-index: 2;
        flex-shrink: 0;
        background: white;
    }

    #sidebar-user-info > div {
        padding-bottom: max(.85rem, env(safe-area-inset-bottom)) !important;
    }

    .dark #sidebar-user-info { background: #1f2937; }

    #mobile-menu-btn .menu-icon {
        position: relative;
        display: block;
        width: 1.35rem;
        height: 1rem;
    }

    #mobile-menu-btn .menu-icon span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transform-origin: center;
        transition: top .25s ease, transform .25s ease, opacity .18s ease, width .25s ease;
    }

    #mobile-menu-btn .menu-icon span:nth-child(1) { top: 0; }
    #mobile-menu-btn .menu-icon span:nth-child(2) { top: 7px; width: 78%; }
    #mobile-menu-btn .menu-icon span:nth-child(3) { top: 14px; width: 55%; }
    #mobile-menu-btn.is-open .menu-icon span:nth-child(1) { top: 7px; width: 100%; transform: rotate(45deg); }
    #mobile-menu-btn.is-open .menu-icon span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    #mobile-menu-btn.is-open .menu-icon span:nth-child(3) { top: 7px; width: 100%; transform: rotate(-45deg); }

    @media (prefers-reduced-motion: reduce) {
        #mobile-menu-btn,
        #mobile-menu-btn .menu-icon span { transition: none; }
    }

    /* Mobilde sidebar off-canvas (position:fixed) → yer kaplamamalı */
    #sidebar-container { width: 0; }
}

/* Sidebar Text (for collapse animation) */
.sidebar-collapsed .sidebar-text {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

/* Sidebar collapsed state */
.sidebar-collapsed {
    width: 4.5rem !important;
    /* aside'ta inline style="min-width:16rem" var → collapse'i kilitliyordu.
       !important ile ezilmezse genişlik 16rem'de takılı kalır, aside taşar. */
    min-width: 4.5rem !important;
}

.sidebar-collapsed .sidebar-nav-text {
    display: none;
}

.sidebar-collapsed .sidebar-logo-text {
    display: none;
}

.sidebar-collapsed .sidebar-user-info {
    display: none;
}

.sidebar-collapsed .sidebar-submenu {
    display: none !important;
}

/* Daraltılınca logo gizlenir → daralt/genişlet butonu tek başına ortalansın */
.sidebar-collapsed .sidebar-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

/* Toast Notification */
.toast-enter {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* Connection Status Dot */
.ws-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.3s;
}

.ws-status-dot.connected {
    background-color: #22c55e;
    box-shadow: 0 0 6px rgba(34, 197, 94, 0.5);
    animation: pulse-green 2s ease-in-out infinite;
}

.ws-status-dot.disconnected {
    background-color: #ef4444;
}

.ws-status-dot.connecting {
    background-color: #f59e0b;
    animation: pulse-amber 1s ease-in-out infinite;
}

@keyframes pulse-green {

    0%,
    100% {
        box-shadow: 0 0 4px rgba(34, 197, 94, 0.3);
    }

    50% {
        box-shadow: 0 0 10px rgba(34, 197, 94, 0.6);
    }
}

@keyframes pulse-amber {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

/* Order Detail Modal Overlay */
.modal-overlay {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Product UI v1 — sayfalar arasında tekrar kullanılabilir pencere dili */
.ui-modal {
    padding: 1rem;
    background: rgb(15 23 42 / 0.48) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: ui-modal-fade-in .16s ease-out;
}

.ui-modal > .ui-modal-panel {
    overflow: hidden;
    border: 1px solid rgb(226 232 240);
    border-radius: 1rem !important;
    background: #fff;
    box-shadow: 0 24px 70px rgb(15 23 42 / .25) !important;
    animation: ui-modal-rise-in .2s ease-out;
}

.dark .ui-modal > .ui-modal-panel {
    border-color: rgb(71 85 105);
    background: rgb(31 41 55);
}

.ui-modal-header {
    min-height: 4.5rem;
    padding: 1rem 1.25rem !important;
    background: linear-gradient(180deg, rgb(248 250 252), rgb(255 255 255));
}

.dark .ui-modal-header {
    background: linear-gradient(180deg, rgb(51 65 85 / .72), rgb(31 41 55));
}

.ui-modal-header h3 {
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: -.015em;
}

.ui-modal-header h3 > i:first-child {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    margin-right: .35rem;
    place-items: center;
    border-radius: .65rem;
    background: rgb(239 246 255);
    color: rgb(37 99 235) !important;
    vertical-align: middle;
}

.dark .ui-modal-header h3 > i:first-child {
    background: rgb(30 58 138 / .35);
    color: rgb(147 197 253) !important;
}

.ui-modal-toolbar {
    gap: .65rem !important;
    padding: .75rem 1.25rem !important;
    background: rgb(248 250 252 / .82);
}

.dark .ui-modal-toolbar { background: rgb(15 23 42 / .25); }

.ui-modal :is(input[type="text"], input[type="number"], input[type="date"], select) {
    min-height: 2.4rem;
    border-color: rgb(203 213 225) !important;
    border-radius: .7rem !important;
    padding: .45rem .7rem !important;
    font-size: .75rem;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.ui-modal :is(input[type="text"], input[type="number"], input[type="date"], select):focus {
    border-color: rgb(59 130 246) !important;
    box-shadow: 0 0 0 3px rgb(147 197 253 / .28);
}

.ui-modal input[type="checkbox"],
.ui-modal input[type="radio"] {
    accent-color: rgb(37 99 235);
}

.ui-modal-footer {
    min-height: 4rem;
    gap: .5rem !important;
    padding: .75rem 1.25rem !important;
    background: rgb(248 250 252 / .86);
}

.dark .ui-modal-footer { background: rgb(15 23 42 / .25); }

.ui-modal button[class*="px-"] {
    min-height: 2.4rem;
    border-radius: .7rem !important;
    font-size: .75rem;
    font-weight: 700;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.ui-modal button[class*="px-"]:active { transform: translateY(1px); }
.ui-modal button:focus-visible { outline: 3px solid rgb(147 197 253 / .52); outline-offset: 2px; }

@keyframes ui-modal-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ui-modal-rise-in { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 640px) {
    .ui-modal { align-items: flex-end !important; padding: .5rem !important; }
    .ui-modal > .ui-modal-panel {
        width: 100% !important;
        max-width: none !important;
        max-height: calc(100dvh - .5rem) !important;
        margin: 0 !important;
        border-radius: 1rem 1rem .5rem .5rem !important;
    }
    .ui-modal-header { min-height: 4rem; padding: .85rem 1rem !important; }
    .ui-modal-toolbar { align-items: stretch !important; padding: .65rem 1rem !important; }
    .ui-modal-toolbar > :is(input[type="text"], select) { width: 100% !important; margin-left: 0 !important; }
    .ui-modal-footer { padding: .65rem 1rem max(.65rem, env(safe-area-inset-bottom)) !important; }
    .ui-modal-footer button[class*="px-"] { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
    .ui-modal,
    .ui-modal > .ui-modal-panel { animation: none; }
}

/* Sağdan açılan detay panelleri */
.ui-drawer .modal-overlay {
    background: rgb(15 23 42 / .46);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.ui-drawer-panel {
    border-left: 1px solid rgb(226 232 240);
    background: white;
    box-shadow: -24px 0 70px rgb(15 23 42 / .2) !important;
}

.dark .ui-drawer-panel { border-color: rgb(71 85 105); background: rgb(31 41 55); }

.ui-drawer-header {
    min-height: 4.5rem;
    background: rgb(255 255 255 / .94) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.dark .ui-drawer-header { background: rgb(31 41 55 / .94) !important; }

.ui-drawer-header h2 { font-size: 1rem !important; font-weight: 800 !important; letter-spacing: -.015em; }
.ui-drawer-header h2 > i:first-child { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: rgb(238 242 255); }

@media (max-width: 640px) {
    .ui-drawer-panel { width: 100% !important; border-left: 0; }
    .ui-drawer-header { min-height: 4rem; padding: .75rem 1rem !important; }
}

/* Timeline Component */
.timeline-step {
    position: relative;
    padding-left: 2rem;
}

.timeline-step::before {
    content: '';
    position: absolute;
    left: 0.45rem;
    top: 1.5rem;
    bottom: -0.5rem;
    width: 2px;
    background: #e2e8f0;
}

.timeline-step:last-child::before {
    display: none;
}

.dark .timeline-step::before {
    background: #475569;
}

.timeline-dot {
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    border: 2px solid #e2e8f0;
    background: white;
    z-index: 1;
}

.dark .timeline-dot {
    border-color: #475569;
    background: #1f2937;
}

.timeline-dot.active {
    border-color: #6366f1;
    background: #6366f1;
}

.timeline-dot.completed {
    border-color: #22c55e;
    background: #22c55e;
}

/* Mobile Sidebar */
@media (max-width: 768px) {
    #sidebar-container aside {
        position: fixed;
        left: -100%;
        top: 0;
        bottom: 0;
        z-index: 50;
        width: 16rem !important;
        /* w-64 */
        transition: left 0.3s ease-in-out;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    }

    #sidebar-container aside.mobile-open {
        left: 0;
    }

    /* Overlay */
    .sidebar-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 45;
        backdrop-filter: blur(2px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s;
    }

    .sidebar-overlay.active {
        opacity: 1;
        pointer-events: auto;
    }

    /* Hide desktop collapse logic on mobile */
    .sidebar-collapsed {
        width: 16rem !important;
    }
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }

    body {
        background: white !important;
    }
}

/* =========================================================
   LIVE TICKER BAR — alt sabit canlı sipariş şeridi
   Tüm sayfalarda görünür (login/setup haric). WebSocket
   "order_received" event'inden besleniyor.
   ========================================================= */
.live-ticker-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 36px;
    background: linear-gradient(to right, #0f172a, #1e293b);
    color: #fff;
    display: flex;
    align-items: center;
    z-index: 40;
    font-size: 12px;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.35);
    transition: transform 0.3s ease;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.live-ticker-bar.collapsed { transform: translateY(28px); }
.live-ticker-label {
    background: #dc2626;
    color: #fff;
    padding: 0 12px;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
    height: 100%;
    flex-shrink: 0;
}
.live-ticker-dot {
    width: 7px; height: 7px;
    background: #fff;
    border-radius: 50%;
    animation: live-ticker-blink 1s infinite;
}
@keyframes live-ticker-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.25; }
}
.live-ticker-track-wrap {
    flex: 1;
    overflow: hidden;
    height: 100%;
    position: relative;
}
.live-ticker-track {
    display: inline-flex;
    align-items: center;
    gap: 28px;
    white-space: nowrap;
    height: 100%;
    padding-left: 100%;
    animation: live-ticker-scroll 50s linear infinite;
    will-change: transform;
}
.live-ticker-track:hover { animation-play-state: paused; }
@keyframes live-ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.live-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 6px;
    border-radius: 4px;
}
.live-ticker-item-new { animation: live-ticker-flash 2.5s ease-out; }
@keyframes live-ticker-flash {
    0% { background: rgba(34, 197, 94, 0.45); box-shadow: 0 0 12px rgba(34, 197, 94, 0.6); }
    100% { background: transparent; box-shadow: none; }
}
.live-ticker-pulse {
    width: 6px; height: 6px;
    background: #22c55e;
    border-radius: 50%;
    box-shadow: 0 0 6px #22c55e;
    flex-shrink: 0;
}
.live-ticker-time { color: #94a3b8; font-family: ui-monospace, monospace; }
.live-ticker-platform {
    padding: 2px 7px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.live-ticker-platform-ty,
.live-ticker-platform-trendyol { background: #f97316; color: #fff; }
.live-ticker-platform-ty2 { background: #3b82f6; color: #fff; }
.live-ticker-platform-hepsiburada,
.live-ticker-platform-hb { background: #ea580c; color: #fff; }
.live-ticker-platform-n11 { background: #9333ea; color: #fff; }
.live-ticker-platform-flo { background: #ec4899; color: #fff; }
.live-ticker-platform-amazon { background: #f59e0b; color: #000; }
.live-ticker-text { color: #f1f5f9; font-weight: 600; }
.live-ticker-qty { color: #fca5a5; font-weight: 700; }
.live-ticker-placeholder { color: #64748b; font-style: italic; }
.live-ticker-close {
    background: transparent;
    color: #94a3b8;
    border: none;
    padding: 0 14px;
    cursor: pointer;
    height: 100%;
    font-size: 13px;
    transition: background 0.2s;
    flex-shrink: 0;
}
.live-ticker-close:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
body.has-live-ticker { padding-bottom: 40px !important; }

/* Ortak pazaryeri renk standardı */
.platform-badge { display:inline-flex; align-items:center; justify-content:center; padding:.18rem .48rem; border:1px solid transparent; border-radius:.42rem; font-size:.625rem; font-weight:800; line-height:1.1; white-space:nowrap; }
.platform-ty { background:#fff7ed; border-color:#fed7aa; color:#c2410c; }
.platform-ty2 { background:#eff6ff; border-color:#bfdbfe; color:#2563eb; }
.platform-hb { background:#fff1f2; border-color:#fecdd3; color:#e11d48; }
.platform-flo { background:#fdf2f8; border-color:#fbcfe8; color:#db2777; }
.platform-amazon { background:#fffbeb; border-color:#fde68a; color:#b45309; }
.platform-n11 { background:#f5f3ff; border-color:#ddd6fe; color:#7c3aed; }
.platform-site { background:#eef2fa; border-color:#c7d2ea; color:#1e3a8a; }
.dark .platform-site { background:rgb(30 58 138/.32); border-color:rgb(143 166 220/.35); color:#c3cff0; }
.platform-other { background:#f8fafc; border-color:#e2e8f0; color:#64748b; }


/* ============================================================
   ENTIRIKA DİL KATMANI v1  (kaynak: _tasarim/index-bitmis.html)
   Ekleme niteliğinde: yeni --ent-* ad alanı + yeni bileşenler.
   Eski kurallara DOKUNMAZ. Panel düzeni: açık varsayılan + .dark
   ============================================================ */
:root{
  --ent-bg:#f8fafc; --ent-surface:#ffffff; --ent-raised:#f1f5f9; --ent-hover:#eef2f7;
  --ent-line:#e2e8f0; --ent-line-soft:#eaeff5;
  --ent-ink:#0f172a; --ent-muted:#64748b; --ent-faint:#94a3b8;
  --ent-brand:#6366f1; --ent-brand-strong:#4f46e5; --ent-brand-soft:rgb(99 102 241/.09);
  --ent-ok:#10b981; --ent-warn:#b45309; --ent-bad:#f43f5e; --ent-info:#3b82f6;
  --ent-r-ctl:8px; --ent-r-card:14px;
}
.dark{
  --ent-bg:#111827; --ent-surface:#1f2937; --ent-raised:#273244; --ent-hover:#2b3648;
  --ent-line:#374151; --ent-line-soft:#2c3849;
  --ent-ink:#f3f4f6; --ent-muted:#94a3b8; --ent-faint:#64748b;
  --ent-brand-soft:rgb(99 102 241/.13);
  --ent-warn:#f59e0b;
}

/* ---- PLATFORM MONOGRAMI v6: kutusuz wordmark ----
   Her platform kendi mini-logosu gibi yazılır; kimliği harf +
   imza detayı taşır (gülümseme, macenta top, üs işareti). */
.pm{
  position:relative;display:inline-flex;align-items:center;
  min-width:44px;font-family:'Nunito','Inter',sans-serif;font-size:12.5px;
  font-weight:900;color:var(--ent-ink);line-height:1;
}
.pm sup{font-size:8px;font-weight:900;margin-left:0;transform:translateY(-2px);letter-spacing:0}
.pm-ty,.pm-ty2{color:#f27a1a}
.pm-hb{color:#7c3aed}
.dark .pm-hb{color:#a06bf5}
.pm-n11::after{content:"";width:5px;height:5px;border-radius:50%;background:#e93ca8;margin-left:2.5px;align-self:flex-start}
.pm-flo{letter-spacing:.08em;font-size:11px}
/* online mağaza (site): marka laciverti; koyu temada okunur açık ton */
.pm-site{color:#1e3a8a}
.dark .pm-site{color:#8fa6dc}
.pm-amz,.pm-sf{padding-bottom:4px}
.pm-amz::after,.pm-sf::after{
  content:"";position:absolute;left:1px;bottom:0;height:5px;
  border-bottom:1.8px solid #ff9900;border-radius:0 0 55% 70%/0 0 100% 100%;
}
.pm-amz::after{width:29px}
.pm-sf::after{width:16px}
.pm.code{font-family:'Inter',sans-serif;color:var(--ent-faint);font-weight:600;letter-spacing:.04em;font-size:11px;min-width:40px}

/* ---- DURUM: yumuşak dolgulu pill ---- */
.st-pill{--stc:var(--ent-muted);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;white-space:nowrap;
  color:var(--stc);background:color-mix(in srgb,var(--stc) 13%,transparent);border-radius:999px;padding:3px 10px}
.st-pill::before{content:"";width:5px;height:5px;border-radius:999px;background:var(--stc)}
.st-pill.ok{--stc:var(--ent-ok)}
.st-pill.warn{--stc:var(--ent-warn)}
.st-pill.bad{--stc:var(--ent-bad)}
.st-pill.info{--stc:var(--ent-info)}

/* ---- BORSA SAYACI (odometer) — entTickTo ile kullanılır ----
   Metrik kilidi şart: kapsayıcı .num-tick olmadan glifler kayar. */
.num-tick{font-variant-numeric:tabular-nums;transition:color .5s ease}
.num-tick.up-flash{color:#059669 !important;transition:color .12s ease}
.dark .num-tick.up-flash{color:#34d399 !important}
.num-tick.down-flash{color:#dc2626 !important;transition:color .12s ease}
.dark .num-tick.down-flash{color:#f87171 !important}
/* Gercek odometre hucreleri (sayi degisince kayarak doner). line-height:1 +
   vertical-align:bottom + white-space:pre olmadan buyuk puntolu KPI'larda
   (metric-value 22-27px) kirpma/kayma cikiyor — bkz. entTickTo yorumu. */
.odc{display:inline-block;overflow:hidden;height:1em;line-height:1;vertical-align:bottom}
.odc .strip{display:block;transition:transform .6s cubic-bezier(.22,.75,.25,1)}
.odc .strip span{display:block;height:1em;line-height:1;white-space:pre}
/* Animasyon surerken negatif letter-spacing (.metric-value:-.035em) hucreler
   arasinda birikip kaymaya yol aciyordu — surdukce normale sabitlenir. */
.ent-od-active{letter-spacing:normal !important}
@media(prefers-reduced-motion:reduce){.odc .strip{transition:none}}

/* altyapi rozeti — yalniz ENT_INFRA_BADGE=true kiracilarda render edilir */
.ent-by{font-size:10.5px;color:var(--ent-faint);margin-top:2px}
.ent-by b{color:#818cf8;font-weight:600}

/* daktilo imleci (selamlama) */
.ent-caret{display:inline-block;width:2px;height:14px;background:var(--ent-brand);margin-left:3px;vertical-align:-2px;animation:ent-blink 1s steps(1) infinite}
@keyframes ent-blink{50%{opacity:0}}
.ent-caret.off{display:none}

/* ============ ENT RAIL: kenar cubugu her iki temada koyu ============
   Tailwind utility'leri kapsam icinde ele gecirilir; ikon renklerine
   (text-emerald-500 vb.) DOKUNULMAZ — sicaklik onlardan gelir. */
.ent-rail{background:#0d1420 !important;border-color:#1b2432 !important}
.ent-rail .sidebar-header{border-color:#1b2432 !important}
.ent-rail .border-gray-200{border-color:#1b2432 !important}
.ent-rail .border-gray-100,.ent-rail .border-gray-300{border-color:#1b2432 !important}
.ent-rail .text-gray-700{color:#a3b0c6 !important}
.ent-rail .text-gray-600{color:#a3b0c6 !important}
.ent-rail .text-gray-500{color:#8b98ad !important}
.ent-rail .text-gray-400{color:#5a677e !important}
.ent-rail .bg-gray-50{background:#111a29 !important}
.ent-rail .bg-gray-200{background:#111a29 !important;border-color:#243040 !important;color:#8b98ad !important}
.ent-rail nav a:hover,.ent-rail nav button:hover,.ent-rail .hover\:bg-gray-100:hover,.ent-rail .hover\:bg-indigo-50:hover{background:#151e2e !important}
.ent-rail #gs-sidebar-trigger:hover{background:#151e2e !important;border-color:#2a3a52 !important}
/* aktif link: koyu zeminde indigo cam */
.ent-rail .bg-indigo-50{background:rgb(99 102 241 / .16) !important}
.ent-rail .text-indigo-700{color:#c7d2fe !important}
.ent-rail .text-indigo-600{color:#a5b4fc !important}
/* kullanici blogu ve genel beyaz kutular */
.ent-rail .bg-white{background:#0d1420 !important}
.ent-rail .text-gray-800,.ent-rail .text-gray-900{color:#e2e8f0 !important}

/* ============ KPI ikon balonu + kart basligi cipi ============ */
.kpi-ic{--k:#6366f1;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:7px;
  background:color-mix(in srgb,var(--k) 15%,transparent);color:var(--k);font-size:10px;flex:0 0 auto}
.hd-ic{--h:#6366f1;width:24px;height:24px;display:inline-grid;place-items:center;border-radius:7px;
  background:color-mix(in srgb,var(--h) 14%,transparent);color:var(--h);font-size:11px;margin-right:8px;vertical-align:-6px}

/* kiraci vurgu noktasi (marka yazisi beyaz kalir) */
.ent-brand-dot{display:inline-block;width:7px;height:7px;border-radius:999px;margin-left:7px;vertical-align:2px}

/* tema dalgasi: ozel clip-path animasyonu devralir */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}
/* pay bari: soldan dolar (dashboard + diger sayfalarda yeniden kullanilabilir) */
.ent-bar{transform-origin:left;transform:scaleX(0);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ent-bar.dolu{transform:scaleX(1)}
/* basma hissi: yalniz belirgin eylem butonlari */
.ent-press{transition:transform .12s ease}
.ent-press:active{transform:scale(.96)}

/* KPI rakamlari HER ZAMAN tabular: num-tick sonradan eklendiginde
   genislik oynamasin (olculen fark 1.73px). */
.metric-value{font-variant-numeric:tabular-nums}

/* yeni siparis satiri: yukaridan kayarak girer + yesil parlar; iptal kirmizi */
tr.ent-fresh{animation:ent-rowin .45s cubic-bezier(.2,.7,.2,1)}
tr.ent-fresh td{animation:ent-rowglow 3s ease .1s}
tr.ent-fresh-bad{animation:ent-rowin .45s cubic-bezier(.2,.7,.2,1)}
tr.ent-fresh-bad td{animation:ent-rowglow-bad 3s ease .1s}
@keyframes ent-rowin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes ent-rowglow{0%{background:rgb(16 185 129/.16)}100%{background:transparent}}
@keyframes ent-rowglow-bad{0%{background:rgb(244 63 94/.15)}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){
  tr.ent-fresh,tr.ent-fresh td,tr.ent-fresh-bad,tr.ent-fresh-bad td{animation:none}
}

/* ===== CANLI HAREKETLER (akis) — dil icinde ===== */
.ent-feed{position:relative;overflow:hidden;background:var(--ent-surface);
  border:1px solid var(--ent-line);border-left:3px solid var(--ent-ok);
  border-radius:10px;padding:9px 11px;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease}
.ent-feed:hover{background:var(--ent-hover)}
.ent-feed.bad{border-left-color:var(--ent-bad)}
.ent-feed .ust{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.ent-feed .no{font-size:11px;color:var(--ent-muted);font-variant-numeric:tabular-nums}
.ent-feed .zaman{margin-left:auto;font-size:10.5px;color:var(--ent-faint);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.ent-feed .satir{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:11.5px;color:var(--ent-muted);min-width:0}
.ent-feed .satir .ad{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ent-feed .satir .adet{flex:0 0 auto;font-weight:600;color:var(--ent-ink);
  font-variant-numeric:tabular-nums}
.ent-feed .fazla{margin-top:3px;font-size:10.5px;color:var(--ent-faint)}
/* yeni dusen kayit: kayarak girer + bir kez parlar */
.ent-feed.yeni{animation:ent-feedin .45s cubic-bezier(.2,.7,.2,1)}
.ent-feed.yeni::after{content:"";position:absolute;inset:0;pointer-events:none;
  animation:ent-feedglow 2.6s ease forwards}
.ent-feed.bad.yeni::after{animation-name:ent-feedglow-bad}
@keyframes ent-feedin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes ent-feedglow{0%{background:rgb(16 185 129/.15)}100%{background:transparent}}
@keyframes ent-feedglow-bad{0%{background:rgb(244 63 94/.15)}100%{background:transparent}}
/* bos akis */
.ent-feed-bos{padding:26px 12px;text-align:center}
.ent-feed-bos .hd-ic{--h:var(--ent-faint);margin:0 auto 9px;display:grid;width:30px;height:30px;font-size:13px}
.ent-feed-bos .baslik{font-size:12.5px;font-weight:700;color:var(--ent-muted)}
.ent-feed-bos .alt{margin-top:3px;font-size:10.5px;color:var(--ent-faint)}
@media(prefers-reduced-motion:reduce){
  .ent-feed.yeni,.ent-feed.yeni::after{animation:none}
}

/* tabular rakam yardimcisi: tutar/tarih/sipariş no kolonlari hizali kalir */
.ent-tnum{font-variant-numeric:tabular-nums}

/* ikon cipi: BOYUT cagri yerinden gelir (Tailwind genislik-yukseklik siniflari
   ile catismaz), renk --h ile verilir, koyu temada --hd tonuna acilir. */
.ent-ic{--h:#6366f1;background:color-mix(in srgb,var(--h) 14%,transparent);color:var(--h)}
.dark .ent-ic{background:color-mix(in srgb,var(--hd,var(--h)) 22%,transparent);color:var(--hd,var(--h))}


/* ============================================================
   ENTİRİKA TEMA v4 (4 Eki 2026) — TÜM PANEL, menü dahil
   Plan: ETICARET_ALTYAPI_PLANI.md §3.1–3.4 · taslak: tasarim-lab/panel-taslak/
   Kapı: tema-kapi.js (<head>) → html[data-tema="entirika"|"d1f"].
     entirika : Turuncu #FF5019 · Kiremit #C82F0C · Kakao #3B2116 · Krem #FFF6EB
     d1f      : beyaz-mavi (31 Eki palet B: menü #0F172A, vurgu #2563EB; eskiden monokrom + krem) — Entirika kimliği YOK
   Renkler düz (gradyan/gölge yok). Durum (yeşil/kırmızı/amber) ve platform
   renkleri DOKUNULMAZ. Arka plan kıvrımı/deseni KULLANILMAZ (4 Eki geri bildirimi).
   data-tema yoksa (giriş, depo uygulaması) bu bölüm hiçbir şeyi değiştirmez.
   ============================================================ */
@font-face{font-family:"Manrope";src:url("fonts/manrope.woff?v=1") format("woff");font-weight:200 800;font-display:swap}

html[data-tema="entirika"]{
  /* 4 Eki gece: "çocuksu" geri bildirimi → krem/kahve yok; nötr yüzey, koyu menü, turuncu yalnız eylem ve işaret
     8 Eki (menu-ve-deri taslağı, "arkaplanı beyaz yap"): sayfa zemini beyaz, kartlar ince çizgiyle ayrılır */
  --zemin:#FFFFFF; --yuzey:#FFFFFF; --yuzey-2:#FAFAF9; --yuzey-3:#F0EFEC;
  --cizgi:#E4E3DF; --cizgi-ince:#EDECE8;
  --metin:#18181B; --metin-2:#52525B; --metin-3:#8A8A93;
  --vurgu:#E8501A; --vurgu-bas:#D2450F; --vurgu-yazi:#FFFFFF; --vurgu-zemin:rgb(232 80 26/.08); --vurgu-cizgi:rgb(232 80 26/.45);
  --kiremit:#B93A0C;
  --iyi:#1F7A4D; --iyi-zemin:#E8F4EE; --dikkat:#C2410C; --dikkat-nokta:#F26B1D; --dikkat-zemin:#FFF0E6; --hata:#B42318; --hata-zemin:#FDECEA;
  --ray:#17171A; --ray-cizgi:#26262B; --balon:#18181B; --balon-yazi:#FAFAFA; --serit:#17171A;
  --golge:0 12px 32px rgb(24 24 27/.10);
}
/* koyu menü: menü içinde içerik belirteçleri koyu zemine göre (kurallar aynı kalır) */
html[data-tema="entirika"]:not(.dark) .ent-rail{--metin:#F4F4F5;--metin-2:#A1A1AA;--metin-3:#71717A;--yuzey-2:#232327;--yuzey-3:#2A2A2F;--cizgi:#2E2E33;--vurgu-zemin:rgb(255 255 255/.07);--hata:#FF8A80;--hata-zemin:rgb(255 107 94/.14);--dikkat:#FF9A62;--dikkat-zemin:rgb(255 138 76/.14)}
/* koyu temada menü seçimi nötr zemin + turuncu çizgi (taslak: --ray-secili) */
html[data-tema="entirika"].dark .ent-rail{--vurgu-zemin:rgb(255 255 255/.06)}
html[data-tema="entirika"].dark{
  --zemin:#141416; --yuzey:#1D1D20; --yuzey-2:#232327; --yuzey-3:#2B2B30;
  --cizgi:#313137; --cizgi-ince:#29292E;
  --metin:#F4EEE8; --metin-2:#ABA39C; --metin-3:#7C756F;
  --vurgu:#FF6A3D; --vurgu-bas:#FF8058; --vurgu-yazi:#1C110B; --vurgu-zemin:rgb(255 106 61/.15); --vurgu-cizgi:rgb(255 106 61/.48);
  --kiremit:#FF8A66;
  --iyi:#4CC38A; --iyi-zemin:rgb(76 195 138/.13); --dikkat:#FF9A62; --dikkat-nokta:#FF8A4C; --dikkat-zemin:rgb(255 138 76/.13); --hata:#FF6B5E; --hata-zemin:rgb(255 107 94/.13);
  --ray:#19191C; --ray-cizgi:#29292E; --balon:#F4EEE8; --balon-yazi:#1C110B; --serit:#19191C;
  --golge:0 20px 50px rgb(0 0 0/.5);
}
html[data-tema="d1f"]{
  /* 31 Eki: beyaz-mavi (palet B · Gök mavisi; eski krem tonların yerine) — zemin beyaz, menü koyu lacivert-gri; Entirika kimliği yok */
  --zemin:#FFFFFF; --yuzey:#FFFFFF; --yuzey-2:#F3F6FB; --yuzey-3:#E5ECF6;
  --cizgi:#D7E0EC; --cizgi-ince:#E5EBF3;
  --metin:#0F172A; --metin-2:#475569; --metin-3:#64748B;
  --vurgu:#2563EB; --vurgu-bas:#1D4ED8; --vurgu-yazi:#FFFFFF; --vurgu-zemin:rgb(37 99 235/.07); --vurgu-cizgi:rgb(37 99 235/.35);
  --kiremit:#2563EB;
  --iyi:#2F7D50; --iyi-zemin:#E7F1EA; --dikkat:#B4530F; --dikkat-nokta:#E0782E; --dikkat-zemin:#FBEDE3; --hata:#B3261E; --hata-zemin:#F9E6E3;
  --ray:#0F172A; --ray-cizgi:#1E293B; --balon:#0F172A; --balon-yazi:#F1F5F9; --serit:#0F172A;
  --golge:0 20px 50px rgb(15 23 42/.12);
}
/* d1f koyu menü: menü içinde belirteçler koyu zemine göre, vurgu açık mavi */
html[data-tema="d1f"]:not(.dark) .ent-rail{--metin:#F1F5F9;--metin-2:#A7B3C4;--metin-3:#8391A6;--yuzey-2:#1A2438;--yuzey-3:#223049;--cizgi:#2B3A55;--vurgu:#93C5FD;--vurgu-zemin:rgb(147 197 253/.12);--vurgu-cizgi:rgb(147 197 253/.4);--hata:#FF7A6E;--hata-zemin:rgb(255 122 110/.14);--dikkat:#F2A06A;--dikkat-zemin:rgb(242 160 106/.14)}
html[data-tema="d1f"].dark{
  --zemin:#0C1320; --yuzey:#121B2B; --yuzey-2:#172235; --yuzey-3:#1E2B42;
  --cizgi:#263652; --cizgi-ince:#1E2B42;
  --metin:#E7EEF8; --metin-2:#9DB0C9; --metin-3:#7A8DA8;
  --vurgu:#60A5FA; --vurgu-bas:#93C5FD; --vurgu-yazi:#0B1220; --vurgu-zemin:rgb(96 165 250/.10); --vurgu-cizgi:rgb(96 165 250/.4);
  --kiremit:#60A5FA;
  --iyi:#5BC593; --iyi-zemin:rgb(91 197 147/.12); --dikkat:#F2A06A; --dikkat-nokta:#F2A06A; --dikkat-zemin:rgb(242 160 106/.12); --hata:#FF7A6E; --hata-zemin:rgb(255 122 110/.12);
  --ray:#0A111D; --ray-cizgi:#1B2638; --balon:#60A5FA; --balon-yazi:#0B1220; --serit:#0A111D;
  --golge:0 20px 50px rgb(0 0 0/.55);
}
/* eski dil belirteçleri yeni temaya bağlanır: --ent-* ve --dash-* kullanan sayfalar kendiliğinden geçer */
html[data-tema]{
  --ent-bg:var(--zemin); --ent-surface:var(--yuzey); --ent-raised:var(--yuzey-3); --ent-hover:var(--yuzey-2);
  --ent-line:var(--cizgi); --ent-line-soft:var(--cizgi-ince);
  --ent-ink:var(--metin); --ent-muted:var(--metin-2); --ent-faint:var(--metin-3);
  --ent-brand:var(--kiremit); --ent-brand-strong:var(--vurgu); --ent-brand-soft:var(--vurgu-zemin);
  --ent-ok:var(--iyi); --ent-warn:var(--dikkat); --ent-bad:var(--hata); --ent-info:var(--metin-2);
  --ent-r-ctl:10px; --ent-r-card:18px;
  --dash-border:var(--cizgi); --dash-muted:var(--metin-2); --dash-ink:var(--metin); --dash-accent:var(--vurgu);
  background:var(--zemin);
}
html[data-tema="entirika"]{--vurgu-rgb:255,80,25}
html[data-tema="entirika"].dark{--vurgu-rgb:255,106,61}
html[data-tema="d1f"]{--vurgu-rgb:37,99,235}
html[data-tema="d1f"].dark{--vurgu-rgb:96,165,250}
/* ortak sayfa kabukları: product-ops.css (--ops-*) + product-suite.css (--ps-*) — sayfa başı renk kimlikleri tek vurguya iner */
html[data-tema],html[data-tema] :is(.passive-page,.queue-page,.price-page,.verify-page){
  --ops-accent:var(--vurgu); --ops-accent-strong:var(--vurgu-bas); --ops-accent-soft:var(--vurgu-zemin); --ops-accent-rgb:var(--vurgu-rgb);
  --ops-bg:var(--zemin); --ops-surface:var(--yuzey); --ops-surface-muted:var(--yuzey-2); --ops-border:var(--cizgi);
  --ops-text:var(--metin); --ops-muted:var(--metin-2); --ops-shadow:none;
}
html[data-tema]{
  --ps-bg:var(--zemin); --ps-surface:var(--yuzey); --ps-surface-soft:var(--yuzey-2); --ps-ink:var(--metin); --ps-ink-2:var(--metin);
  --ps-muted:var(--metin-2); --ps-faint:var(--metin-3); --ps-line:var(--cizgi-ince); --ps-line-strong:var(--cizgi);
  --ps-purple:var(--vurgu); --ps-purple-2:var(--vurgu-bas); --ps-purple-soft:var(--vurgu-zemin); --ps-indigo:var(--vurgu);
  --ps-shadow:none; --ps-shadow-hover:none;
}
html[data-tema] body{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--metin)}
/* gövde zemini: Tailwind köprüsündeki .bg-gray-50 (0,3,1) kuralından güçlü olmalı → (0,3,2) */
html[data-tema] body,html[data-tema]:not(.dark) body[class],html[data-tema].dark body[class]{background-color:var(--zemin) !important}
html[data-tema] ::selection{background:var(--vurgu-zemin)}
html[data-tema] ::-webkit-scrollbar-thumb{background:var(--cizgi)}

/* ── Tailwind köprüsü: AÇIK tema (koyu temada dark: sınıfları kazansın diye :not(.dark)) ── */
html[data-tema]:not(.dark) :is(.bg-gray-50,.bg-slate-50){background-color:var(--yuzey-2) !important}
html[data-tema]:not(.dark) :is(.bg-gray-100,.bg-slate-100){background-color:var(--yuzey-3) !important}
html[data-tema]:not(.dark) :is(.bg-gray-200,.bg-slate-200){background-color:var(--cizgi) !important}
html[data-tema]:not(.dark) .bg-white{background-color:var(--yuzey) !important}
html[data-tema]:not(.dark) :is(.border-gray-100,.border-gray-200,.border-slate-100,.border-slate-200){border-color:var(--cizgi-ince) !important}
html[data-tema]:not(.dark) :is(.border-gray-300,.border-slate-300){border-color:var(--cizgi) !important}
html[data-tema]:not(.dark) :is(.divide-gray-100,.divide-gray-200,.divide-slate-100,.divide-slate-200)>:not([hidden])~:not([hidden]){border-color:var(--cizgi-ince) !important}
html[data-tema]:not(.dark) :is(.text-gray-900,.text-gray-800,.text-gray-700,.text-slate-900,.text-slate-800,.text-slate-700){color:var(--metin) !important}
html[data-tema]:not(.dark) :is(.text-gray-600,.text-gray-500,.text-slate-600,.text-slate-500){color:var(--metin-2) !important}
html[data-tema]:not(.dark) :is(.text-gray-400,.text-slate-400){color:var(--metin-3) !important}
html[data-tema]:not(.dark) :is(.hover\:bg-gray-50,.hover\:bg-gray-100,.hover\:bg-slate-50,.hover\:bg-slate-100):hover{background-color:var(--yuzey-2) !important}
/* ── Tailwind köprüsü: KOYU tema (lacivert-gri → nötr kömür) ── */
html[data-tema].dark :is(.dark\:bg-gray-900,.dark\:bg-slate-900,.bg-gray-900){background-color:var(--zemin) !important}
html[data-tema].dark :is(.dark\:bg-gray-800,.dark\:bg-slate-800,.bg-gray-800,.dark\:bg-gray-800\/95,.dark\:bg-gray-800\/90,.dark\:bg-gray-800\/80,.dark\:bg-gray-800\/60,.dark\:bg-gray-800\/50){background-color:var(--yuzey) !important}
html[data-tema].dark :is(.dark\:bg-gray-700,.dark\:bg-slate-700,.bg-gray-700,.dark\:bg-gray-700\/50,.dark\:bg-gray-700\/40,.dark\:bg-gray-700\/30,.dark\:bg-gray-900\/50,.dark\:bg-gray-900\/40,.dark\:bg-gray-900\/30,.dark\:bg-gray-900\/20){background-color:var(--yuzey-3) !important}
html[data-tema].dark :is(.dark\:border-gray-800,.dark\:border-gray-700,.dark\:border-gray-600,.dark\:border-slate-700,.border-gray-700){border-color:var(--cizgi) !important}
html[data-tema].dark :is(.dark\:divide-gray-700,.dark\:divide-gray-800)>:not([hidden])~:not([hidden]){border-color:var(--cizgi) !important}
html[data-tema].dark :is(.dark\:text-white,.dark\:text-gray-100,.dark\:text-gray-200,.dark\:text-slate-100,.dark\:text-slate-200){color:var(--metin) !important}
html[data-tema].dark :is(.dark\:text-gray-300,.dark\:text-gray-400,.dark\:text-slate-300,.dark\:text-slate-400){color:var(--metin-2) !important}
html[data-tema].dark :is(.dark\:text-gray-500,.dark\:text-slate-500){color:var(--metin-3) !important}
html[data-tema].dark :is(.dark\:hover\:bg-gray-700,.dark\:hover\:bg-gray-700\/50,.dark\:hover\:bg-gray-800,.dark\:hover\:bg-gray-600):hover{background-color:var(--yuzey-3) !important}
/* ── vurgu: indigo / mavi / menekşe eylemleri → marka (d1f'te koyu) ── */
html[data-tema] :is(.bg-indigo-600,.bg-indigo-500,.bg-blue-600,.bg-blue-500,.bg-violet-600,.bg-violet-500){background-color:var(--vurgu) !important;color:var(--vurgu-yazi) !important}
html[data-tema] :is(.bg-indigo-600,.bg-indigo-500,.bg-blue-600,.bg-blue-500,.bg-violet-600,.bg-violet-500) :is(.text-white,i,svg){color:var(--vurgu-yazi) !important}
html[data-tema] :is(.bg-indigo-700,.bg-blue-700,.hover\:bg-indigo-700:hover,.hover\:bg-indigo-600:hover,.hover\:bg-blue-700:hover,.hover\:bg-violet-700:hover){background-color:var(--vurgu-bas) !important;color:var(--vurgu-yazi) !important}
html[data-tema] :is(.bg-indigo-50,.bg-indigo-100,.bg-blue-50,.bg-blue-100,.bg-violet-50,.bg-violet-100){background-color:var(--yuzey-3) !important}
html[data-tema] :is(.hover\:bg-indigo-50,.hover\:bg-indigo-100,.hover\:bg-blue-50,.hover\:bg-blue-100):hover{background-color:var(--yuzey-3) !important}
html[data-tema] :is(.text-indigo-500,.text-indigo-600,.text-indigo-700,.text-indigo-800,.text-blue-500,.text-blue-600,.text-blue-700,.text-violet-600,.text-violet-700){color:var(--kiremit) !important}
html[data-tema].dark :is(.dark\:text-indigo-300,.dark\:text-indigo-400,.text-indigo-300,.text-indigo-400,.dark\:text-blue-300,.dark\:text-blue-400,.dark\:text-violet-300,.dark\:text-violet-400){color:var(--kiremit) !important}
html[data-tema].dark :is(.dark\:bg-indigo-900\/20,.dark\:bg-indigo-900\/25,.dark\:bg-indigo-900\/30,.dark\:bg-indigo-900\/40,.dark\:bg-indigo-900\/50,.dark\:bg-blue-900\/20,.dark\:bg-blue-900\/30,.dark\:bg-violet-900\/20,.dark\:bg-violet-900\/30){background-color:var(--yuzey-3) !important}
html[data-tema] :is(.border-indigo-200,.border-indigo-300,.border-indigo-400,.border-blue-200,.border-blue-300,.border-violet-200,.border-violet-300){border-color:var(--cizgi) !important}
html[data-tema] :is(.border-indigo-500,.border-indigo-600,.border-blue-500){border-color:var(--vurgu-cizgi) !important}
html[data-tema] :is(.focus\:ring-indigo-500,.focus\:ring-indigo-300,.focus\:ring-blue-500,.focus\:ring-blue-300,.focus\:ring-violet-500):focus{--tw-ring-color:var(--vurgu-zemin) !important}
html[data-tema] :is(.focus\:border-indigo-500,.focus\:border-blue-500,.focus\:border-violet-500):focus{border-color:var(--vurgu) !important}
html[data-tema] :is(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:var(--vurgu)}
/* gradyanlı eylem kutuları düzleşir (kılavuz: renkler düz) */
html[data-tema] :is([class*="from-indigo-"],[class*="from-blue-"],[class*="from-violet-"]){--tw-gradient-from:var(--vurgu) var(--tw-gradient-from-position) !important;--tw-gradient-to:var(--vurgu) var(--tw-gradient-to-position) !important;--tw-gradient-stops:var(--vurgu),var(--vurgu) !important}
/* satır içi indigo (ikon çipleri, CANLI rozeti) — yalnız indigo olanlar */
html[data-tema] [style*="--h:#6366f1"]{--h:var(--metin-2) !important}
html[data-tema] [style*="--k:#6366f1"]{--k:var(--metin-2) !important}
html[data-tema] [style*="background:#4f46e5"]{background:var(--vurgu) !important;color:var(--vurgu-yazi) !important}
/* seçili KPI kartı: indigo gradyan → açık vurgu + üst çizgi */
html[data-tema] .metric-primary{background:var(--yuzey) !important;box-shadow:inset 0 3px 0 var(--vurgu) !important}
html[data-tema] .metric-primary :is(.metric-label){color:var(--metin-2) !important}
html[data-tema] .metric-primary :is(.metric-value,.text-white){color:var(--metin) !important}
html[data-tema] .metric-primary :is(.metric-note,.text-white\/70,.text-white\/80){color:var(--metin-2) !important}
html[data-tema] .metric-primary :is(.bg-white\/20,.bg-white\/15){background-color:var(--yuzey-3) !important}

/* ── Product UI v1 sayfa kabuğu ── */
html[data-tema] .ui-page-shell{background:color-mix(in srgb,var(--zemin) 94%,transparent) !important;border-bottom-color:var(--cizgi-ince) !important;box-shadow:none !important}
html[data-tema] .ui-page-icon{background:var(--yuzey-3);color:var(--metin-2)}
html[data-tema] .ui-page-title{color:var(--metin) !important;font-weight:800 !important}
html[data-tema] .ui-page-subtitle{color:var(--metin-2)}
html[data-tema] .ui-page-icon-button:hover{background:var(--yuzey-3);color:var(--metin)}
html[data-tema] .ui-page-toolbar{background:transparent !important}
html[data-tema] :is(.ui-stat-chip,.ui-content-card){background:var(--yuzey) !important;border-color:var(--cizgi-ince) !important;box-shadow:none !important}
html[data-tema] .ui-page-toolbar :is(input[type="text"],input[type="date"],select){border-color:var(--cizgi) !important;background-color:var(--yuzey)}
html[data-tema] .ui-page-toolbar :is(input[type="text"],input[type="date"],select):focus{border-color:var(--vurgu) !important;box-shadow:0 0 0 3px var(--vurgu-zemin)}

/* ── alt canlı şerit: gradyan yerine düz koyu ── */
html[data-tema] :is(.live-ticker-bar,#live-ticker-bar){background:var(--serit) !important;box-shadow:none !important;border-top-color:rgb(255 255 255/.06) !important;font-family:inherit !important}
html[data-tema] #live-ticker-bar>div:first-child>div:nth-child(1){background:linear-gradient(to right,var(--serit),transparent) !important}
html[data-tema] #live-ticker-bar>div:first-child>div:nth-child(2){background:linear-gradient(to left,var(--serit),transparent) !important}

/* ── KENAR ÇUBUĞU (ray) — açık temada beyaz, koyuda kömür; aktif = vurgu zemini + çizgi ── */
html[data-tema] .ent-rail{background:var(--ray) !important;border-color:var(--ray-cizgi) !important}
html[data-tema] .ent-rail :is(.sidebar-header,.border-gray-200,.border-gray-100,.border-gray-300){border-color:var(--ray-cizgi) !important}
html[data-tema] .ent-rail :is(.text-white,.text-gray-900,.text-gray-800){color:var(--metin) !important}
html[data-tema] .ent-rail :is(.text-gray-700,.text-gray-600){color:var(--metin-2) !important}
html[data-tema] .ent-rail :is(.text-gray-500,.text-gray-400){color:var(--metin-3) !important}
html[data-tema] .ent-rail :is(.bg-white,.bg-gray-50,.bg-gray-200){background:transparent !important}
html[data-tema] .ent-rail :is(nav a,nav button):hover{background:var(--yuzey-2) !important;color:var(--metin) !important}
html[data-tema] .ent-rail #gs-sidebar-trigger{background:var(--yuzey-2) !important;border-color:var(--cizgi) !important;color:var(--metin-3) !important}
html[data-tema] .ent-rail #gs-sidebar-trigger:hover{border-color:var(--vurgu-cizgi) !important}
html[data-tema] .ent-ray-bas{height:4.5rem !important;padding:0 1rem 0 1.15rem !important}
html[data-tema] .ent-ray-marka{display:flex;align-items:center;gap:.65rem;min-width:0}
html[data-tema] .ent-ray-amblem{display:none}
html[data-tema="entirika"] .ent-ray-amblem{display:block;width:32px;height:28px;flex:none;background:url("assets/maskot/entirika-amblem-renkli.svg?v=1") center/contain no-repeat}
html[data-tema] .ent-ray-ad{font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--metin) !important;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-tema="d1f"] .ent-ray-ad{letter-spacing:.3em;font-weight:700;font-size:.9rem}
html[data-tema] .ent-by{color:var(--metin-3);font-weight:600}
html[data-tema] .ent-by b{color:var(--metin-2)}
/* menü gövdesi (8 Eki, menu-ve-deri taslağı): bölüm başlığı, bağlantı, alt grup kılavuz çizgisi, rozet, pasif kanal */
html[data-tema] .ent-ray-nav{padding:4px 12px 16px !important;scrollbar-width:thin;scrollbar-color:var(--ray-cizgi) transparent}
html[data-tema] .ent-ray-bolum{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--metin-3);padding:16px 10px 6px;white-space:nowrap}
html[data-tema] .ent-ray-link{display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:8px 10px;border-radius:8px;font-weight:600;font-size:13.5px;line-height:1.35;color:var(--metin-2) !important;text-align:left;position:relative;background:none;border:0;cursor:pointer;white-space:nowrap;transition:background-color .12s,color .12s}
html[data-tema] .ent-ray-link .ent-ik{width:19px;height:19px;color:var(--metin-3);flex:none}
html[data-tema] .ent-ray-link:hover>.ent-ik{color:var(--metin-2)}
html[data-tema] .ent-ray-etiket{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
html[data-tema] .ent-ray-link .ent-ray-ok{width:13px;height:13px;margin-left:auto;transition:transform .15s}
html[data-tema] .ent-ray-link.ent-aktif{background:var(--vurgu-zemin) !important;color:var(--metin) !important;font-weight:800;box-shadow:none !important}
html[data-tema] .ent-ray-link.ent-aktif .ent-ik{color:var(--vurgu)}
html[data-tema] .ent-ray-link.ent-aktif::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--vurgu)}
html[data-tema] .ent-ray-link.ent-acik{color:var(--metin) !important}
html[data-tema] .ent-ray-link.ent-icinde>.ent-ik:first-child{color:var(--vurgu)}
html[data-tema] .ent-ray-alt{position:relative;padding:2px 0 6px 30px !important}
html[data-tema] .ent-ray-alt::before{content:"";position:absolute;left:19px;top:2px;bottom:8px;width:1px;background:var(--ray-cizgi)}
html[data-tema] .ent-ray-alt>*+*{margin-top:1px}
html[data-tema] .ent-ray-alt-link{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border-radius:7px;font-size:13px;font-weight:600;line-height:1.35;color:var(--metin-2) !important;position:relative;white-space:nowrap}
html[data-tema] .ent-ray-alt-link.ent-aktif{color:var(--metin) !important;font-weight:800;background:var(--vurgu-zemin) !important;box-shadow:none !important}
html[data-tema] .ent-ray-alt-link.ent-aktif::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--vurgu)}
html[data-tema] .ent-rail nav :is(.ent-ray-link,.ent-ray-alt-link).ent-aktif:hover{background:var(--vurgu-zemin) !important}
html[data-tema] .ent-ray-alt-link.ent-guclu{color:var(--metin) !important;font-weight:800}
html[data-tema] .ent-ray-dis{display:inline-flex;flex:none;color:var(--metin-3)}
html[data-tema] .ent-ray-dis .ent-ik{width:13px;height:13px}
/* sayı rozeti: hata kırmızı, uyarı turuncu (sarı yok) — kimlikler korunur (customer-questions-badge …) */
html[data-tema] .ent-ray-rozet{margin-left:auto;min-width:20px;height:19px;padding:0 6px;border-radius:10px;display:inline-grid;place-items:center;flex:none;font-size:10.5px;font-weight:800;line-height:1;background:var(--yuzey-2);color:var(--metin-2)}
html[data-tema] .ent-ray-rozet.ent-rozet-hata{background:var(--hata-zemin);color:var(--hata)}
html[data-tema] .ent-ray-rozet.ent-rozet-uyari{background:var(--dikkat-zemin);color:var(--dikkat)}
.ent-ray-rozet.hidden{display:none !important}
/* bağlı olmayan kanal: pasif, tıklanmaz ("Bağlı değil" · site kapalıysa "Kapalı") */
html[data-tema] .ent-rail nav .ent-pasif,html[data-tema] .ent-rail nav .ent-pasif:hover{cursor:not-allowed;background:none !important;color:var(--metin-3) !important}
html[data-tema] .ent-ray-link.ent-pasif>.ent-ik{opacity:.6}
html[data-tema] .ent-ray-durum{margin-left:auto;flex:none;font-size:10.5px;font-weight:700;line-height:1.4;color:var(--metin-3);border:1px dashed var(--cizgi);border-radius:6px;padding:1px 6px}
html[data-tema] .ent-ray-cizgi{height:1px;background:var(--ray-cizgi);margin:8px 10px}
html[data-tema] .ent-ray-daralt{color:var(--metin-3) !important}
html[data-tema] .ent-ray-daralt:hover{background:var(--yuzey-2) !important;color:var(--metin) !important}
/* alt kullanıcı bloğu + Entirika imzası (yalnız entirika; d1f'te dosya istenmez) */
html[data-tema] .ent-kisi{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;border-top:1px solid var(--ray-cizgi)}
html[data-tema] .ent-kisi-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--vurgu-zemin);color:var(--metin);font-weight:800;font-size:.85rem}
html[data-tema] .ent-kisi-bilgi{min-width:0;flex:1}
html[data-tema] .ent-kisi-bilgi b{display:block;font-size:.82rem;font-weight:800;color:var(--metin);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-tema] .ent-kisi-bilgi span{display:block;font-size:.7rem;font-weight:600;color:var(--metin-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-tema] .ent-kisi-cikis{width:34px;height:34px;border-radius:.65rem;display:grid;place-items:center;flex:none;color:var(--metin-3);background:none;border:0;cursor:pointer}
html[data-tema] .ent-kisi-cikis:hover{background:var(--hata-zemin);color:var(--hata)}
html[data-tema] .ent-kisi-cikis .ent-ik{width:18px;height:18px}
html[data-tema] .ent-imza{display:none}
.sidebar-collapsed :is(.ent-kisi-bilgi,.ent-kisi-cikis,.ent-imza,.ent-ray-ok,.ent-ray-durum){display:none !important}
.sidebar-collapsed .ent-kisi{justify-content:center;padding-left:0;padding-right:0}
.sidebar-collapsed .ent-ray-link{justify-content:center}
/* daraltılmış menü (taslak): bölüm başlığı ince çizgi, rozet ikonun köşesinde, pasif maddede halka */
html[data-tema] .sidebar-collapsed .ent-ray-bolum{display:block !important;height:1px;padding:0;margin:10px 8px;background:var(--ray-cizgi);font-size:0;overflow:hidden}
html[data-tema] .sidebar-collapsed .ent-ray-link{padding:9px 0;gap:0}
html[data-tema] .sidebar-collapsed .ent-ray-link .ent-ray-rozet{position:absolute;top:2px;right:2px;min-width:16px;height:15px;padding:0 4px;font-size:9.5px}
html[data-tema] .sidebar-collapsed .ent-ray-link.ent-pasif::after{content:"";position:absolute;right:9px;bottom:9px;width:6px;height:6px;border-radius:50%;border:1.5px solid var(--metin-3)}

/* ── 8 Eki: açık temada zemin beyaz → kenarlıksız beyaz kart gölge yerine ince çizgiyle ayrılır
   (tam kenarlıklı kartlara ve açılır pencere gölgelerine — shadow-md ve üstü — dokunulmaz) ── */
html[data-tema]:not(.dark) .bg-white:is(.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl):not(.border,.border-2):not(.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl){box-shadow:0 0 0 1px var(--cizgi-ince) !important}
/* saydam kenarlıklı kart (border-2 border-transparent; üstüne gelince renk alır): kenar ince çizgi — eşit özgüllükte Tailwind hover kazanır */
:where(html[data-tema]:not(.dark)) .bg-white.border-transparent:is(.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl){border-color:var(--cizgi-ince)}
/* içerik alanı (main) da beyaz: köprüdeki .bg-gray-50 → --yuzey-2 (0,3,1) ve Anasayfa'nın sabit #f6f8fb'si ezilir (0,3,2) */
html[data-tema]:not(.dark) main:is(.bg-gray-50,.bg-slate-50,.bg-\[\#f6f8fb\]){background-color:var(--zemin) !important}
/* Anasayfa açılış perdesi: sabit #f6f8fb / koyuda #111827 yerine tema zemini */
html[data-tema] #ent-loader{background:var(--zemin) !important}
.ent-ik{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}

/* ── TEMİZ (kiracı paneli): beyaz etiket ── kiracının kendi logosu varsa (marka ayarı logo_data_url) Entirika amblemi
   yerine o görünür (shared.js _applyBrandingData .ent-ozel-logo); monokrom temada (d1f: sağlayıcının kendi paneli ve kendi alan adındaki
   kiracı) kiracı vurgu noktası da gizlenir — varsayılan vurgu eski Entirika yeşili olduğu için kimlik sızdırmasın ── */
html[data-tema] .ent-ray-marka.ent-ozel-logo .ent-ray-amblem{display:none}
html[data-tema] .ent-ray-logo{width:32px;height:28px;flex:none;object-fit:contain;border-radius:6px}
html[data-tema="d1f"] .ent-brand-dot{display:none}
