/* SafePay Shop Panel — matches login UI (scoped to app layout only) */
:root {
    --sp-blue: #1e67b1;
    --sp-blue-light: #3d8fd4;
    --sp-blue-dark: #0d3d6e;
    --sp-gold: #e5a024;
    --sp-gold-light: #f5c04a;
    --sp-teal: #0a5c5c;
    --sp-bg: #05080d;
    --sp-bg-elevated: #0f1419;
    --sp-surface: rgba(15, 20, 28, 0.92);
    --sp-border: rgba(61, 143, 212, 0.16);
    --sp-text: #f1f5f9;
    --sp-muted: #94a3b8;
}

/* ── Base ── */
.fi-panel-shop .fi-layout {
    font-family: 'Plus Jakarta Sans', var(--font-family), ui-sans-serif, system-ui, sans-serif;
    background:
        radial-gradient(ellipse 70% 50% at 10% 20%, rgba(30, 103, 177, 0.14) 0%, transparent 55%),
        radial-gradient(ellipse 50% 40% at 90% 80%, rgba(229, 160, 36, 0.07) 0%, transparent 50%),
        var(--sp-bg);
}

.fi-panel-shop.fi-body {
    background: var(--sp-bg) !important;
    color: var(--sp-text);
}

/* ── Sidebar ── */
.fi-panel-shop .fi-layout .fi-sidebar {
    background: linear-gradient(180deg, #030508 0%, #0a1220 50%, #0d1a2e 100%) !important;
    border-inline-end: 1px solid var(--sp-border) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3) !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid var(--sp-border) !important;
    box-shadow: none !important;
    padding-inline: 1rem !important;
    height: 4rem !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-header .fi-logo img {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
}

.fi-panel-shop .fi-layout .fi-sidebar-nav {
    padding-inline: 0.75rem !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-item-button {
    border-radius: 0.75rem !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-item-button:hover {
    background: rgba(30, 103, 177, 0.12) !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-item.fi-active .fi-sidebar-item-button {
    background: linear-gradient(135deg, rgba(30, 103, 177, 0.25) 0%, rgba(229, 160, 36, 0.12) 100%) !important;
    border: 1px solid rgba(61, 143, 212, 0.25);
}

.fi-panel-shop .fi-layout .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-panel-shop .fi-layout .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: var(--sp-gold-light) !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-item-icon {
    color: var(--sp-muted) !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-item-label {
    color: #cbd5e1 !important;
    font-weight: 500 !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-group-label {
    color: var(--sp-muted) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.fi-panel-shop .fi-layout .fi-sidebar-close-overlay {
    background: rgba(5, 8, 13, 0.75) !important;
    backdrop-filter: blur(4px);
}

/* ── Topbar ── */
.fi-panel-shop .fi-layout .fi-topbar {
    background: rgba(10, 14, 22, 0.85) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--sp-border) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.fi-panel-shop .fi-layout .fi-topbar-open-sidebar-btn,
.fi-panel-shop .fi-layout .fi-topbar-open-collapse-sidebar-btn {
    border-radius: 0.625rem !important;
}

.fi-panel-shop .fi-layout .fi-topbar-item-button:hover {
    background: rgba(30, 103, 177, 0.15) !important;
}

.fi-panel-shop .fi-layout .fi-topbar-item.fi-active .fi-topbar-item-label {
    color: var(--sp-gold-light) !important;
}

/* Hide theme switcher — SafePay uses fixed dark theme */
.fi-panel-shop .fi-layout .fi-theme-switcher {
    display: none !important;
}

/* ── Main content ── */
.fi-panel-shop .fi-layout .fi-main {
    padding-top: 1.25rem !important;
    padding-bottom: 2rem !important;
}

@media (max-width: 639px) {
    .fi-panel-shop .fi-layout .fi-main {
        padding-inline: 0.875rem !important;
        padding-top: 1rem !important;
    }
}

.fi-panel-shop .fi-layout .fi-header-heading {
    color: var(--sp-text) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

.fi-panel-shop .fi-layout .fi-header-subheading {
    color: var(--sp-muted) !important;
}

/* ── Sections & cards ── */
.fi-panel-shop .fi-layout .fi-section,
.fi-panel-shop .fi-layout .fi-wi-widget {
    border-radius: 1rem !important;
}

.fi-panel-shop .fi-layout .fi-section {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25) !important;
}

.fi-panel-shop .fi-layout .fi-section-header-heading {
    color: var(--sp-text) !important;
    font-weight: 700 !important;
}

/* ── Stats widgets ── */
.fi-panel-shop .fi-layout .fi-wi-stats-overview-stats-ctn {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 0.875rem !important;
}

@media (min-width: 480px) {
    .fi-panel-shop .fi-layout .fi-wi-stats-overview-stats-ctn {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1024px) {
    .fi-panel-shop .fi-layout .fi-wi-stats-overview-stats-ctn {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }
}

.fi-panel-shop .fi-layout .fi-wi-stats-overview-stat {
    background: var(--sp-surface) !important;
    border: 1px solid var(--sp-border) !important;
    border-radius: 1rem !important;
    padding: 1.25rem !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.fi-panel-shop .fi-layout .fi-wi-stats-overview-stat:hover {
    transform: translateY(-2px);
    border-color: rgba(61, 143, 212, 0.3) !important;
}

.fi-panel-shop .fi-layout .fi-wi-stats-overview-stat-label {
    color: var(--sp-muted) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}

.fi-panel-shop .fi-layout .fi-wi-stats-overview-stat-value {
    color: var(--sp-text) !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

@media (max-width: 479px) {
    .fi-panel-shop .fi-layout .fi-wi-stats-overview-stat-value {
        font-size: 1.25rem !important;
    }
}

.fi-panel-shop .fi-layout .fi-wi-stats-overview-stat-description {
    font-size: 0.75rem !important;
}

/* ── Table widgets & data tables ── */
.fi-panel-shop .fi-layout .fi-ta-ctn {
    border-radius: 1rem !important;
    border: 1px solid var(--sp-border) !important;
    background: var(--sp-surface) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden;
}

.fi-panel-shop .fi-layout .fi-ta-header-cell {
    background: rgba(30, 103, 177, 0.1) !important;
    color: #cbd5e1 !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
}

.fi-panel-shop .fi-layout .fi-ta-row {
    border-color: rgba(255, 255, 255, 0.05) !important;
}

.fi-panel-shop .fi-layout .fi-ta-row:hover {
    background: rgba(30, 103, 177, 0.06) !important;
}

.fi-panel-shop .fi-layout .fi-ta-cell {
    color: #e2e8f0 !important;
    font-size: 0.875rem !important;
}

.fi-panel-shop .fi-layout .fi-ta-header-toolbar {
    padding: 0.75rem 1rem !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

.fi-panel-shop .fi-layout .fi-ta-table {
    min-width: 100%;
}

@media (max-width: 767px) {
    .fi-panel-shop .fi-layout .fi-ta-content {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .fi-panel-shop .fi-layout .fi-ta-table {
        min-width: 36rem;
    }

    .fi-panel-shop .fi-layout .fi-ta-search-field {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ── Forms & inputs ── */
.fi-panel-shop .fi-layout .fi-input-wrp,
.fi-panel-shop .fi-layout .fi-select-input-ctn,
.fi-panel-shop .fi-layout .fi-fo-textarea {
    border-radius: 0.75rem !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.fi-panel-shop .fi-layout .fi-input-wrp:focus-within {
    border-color: var(--sp-blue-light) !important;
    box-shadow: 0 0 0 3px rgba(30, 103, 177, 0.18) !important;
}

.fi-panel-shop .fi-layout .fi-fo-field-wrp-label {
    color: #cbd5e1 !important;
    font-weight: 600 !important;
}

.fi-panel-shop .fi-layout input.fi-input,
.fi-panel-shop .fi-layout select.fi-select-input,
.fi-panel-shop .fi-layout textarea.fi-input {
    color: var(--sp-text) !important;
}

/* ── Buttons ── */
.fi-panel-shop .fi-layout .fi-btn-color-primary {
    background: linear-gradient(135deg, var(--sp-blue) 0%, var(--sp-blue-dark) 100%) !important;
    border: 1px solid rgba(61, 143, 212, 0.3) !important;
    border-radius: 0.75rem !important;
    font-weight: 700 !important;
    box-shadow: 0 6px 20px rgba(30, 103, 177, 0.3) !important;
}

.fi-panel-shop .fi-layout .fi-btn-color-primary:hover {
    filter: brightness(1.08);
}

.fi-panel-shop .fi-layout .fi-btn {
    border-radius: 0.625rem !important;
}

/* ── Widget grid (dashboard) ── */
.fi-panel-shop .fi-layout .fi-page .fi-wi {
    gap: 1rem !important;
}

@media (max-width: 639px) {
    .fi-panel-shop .fi-layout .fi-page .fi-wi > * {
        grid-column: 1 / -1 !important;
    }
}

/* ── Page header actions (mobile) ── */
@media (max-width: 639px) {
    .fi-panel-shop .fi-layout .fi-header-actions {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    .fi-panel-shop .fi-layout .fi-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }
}

/* ── Modals & dropdowns ── */
.fi-panel-shop .fi-layout .fi-modal-window {
    border-radius: 1rem !important;
    border: 1px solid var(--sp-border) !important;
}

/* ── Notifications ── */
.fi-panel-shop .fi-no {
    border-radius: 0.875rem !important;
}

/* ── SafePay footer ── */
.safepay-panel-footer {
    margin-top: 2rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    text-align: center;
    font-size: 0.75rem;
    color: #64748b;
}

.safepay-panel-footer span {
    color: var(--sp-blue-light);
    font-weight: 600;
}

.safepay-panel-footer .safepay-panel-footer-brand {
    color: var(--sp-gold);
    font-weight: 600;
}

/* ── Breadcrumbs & tabs ── */
.fi-panel-shop .fi-layout .fi-breadcrumbs-item-label {
    color: var(--sp-muted) !important;
}

.fi-panel-shop .fi-layout .fi-tabs-item.fi-active .fi-tabs-item-label {
    color: var(--sp-gold-light) !important;
}

.fi-panel-shop .fi-layout .fi-tabs-item.fi-active {
    border-color: var(--sp-blue-light) !important;
}

/* ── Pagination ── */
.fi-panel-shop .fi-layout .fi-pagination-item.fi-active .fi-pagination-item-button {
    background: var(--sp-blue) !important;
}
