/* Shared finishing layer for the storefront, merchant portal and administration. */
@media screen {
    :root { --nx-refined-line: rgba(148,163,184,.16); }
    .app-main, .fi-main-ctn { min-width: 0; }
    .app-main .card, .dark .fi-section, .dark .fi-ta-ctn,
    .dark .fi-wi-stats-overview-stat, .tg-panel {
        border-color: var(--nx-refined-line);
        box-shadow: 0 2px 4px rgba(2,6,23,.06), 0 16px 36px -28px rgba(2,6,23,.65);
    }
    .app-main .card-header { gap: 12px; flex-wrap: wrap; padding-block: 16px; }
    .app-main .card-header .card-title { margin-block: 0; }
    .app-main .card-header h2, .app-main .card-header h3 { line-height: 1.6; }
    .app-toolbar .page-heading { line-height: 1.5; }
    .app-toolbar .breadcrumb { margin-top: 4px; gap: 4px; }
    .app-main .text-muted, .app-main .text-gray-500 { line-height: 1.8; }
    .app-main .table { --bs-table-border-color: var(--nx-refined-line); }
    .app-main .table thead th { font-size: .85rem; padding-block: 15px; white-space: nowrap; }
    .app-main .table tbody td { padding-block: 17px; vertical-align: middle; }
    [data-bs-theme="dark"] .app-main .table thead { background: rgba(148,163,184,.05); }
    [data-bs-theme="dark"] .app-main .table tbody tr:hover { background: rgba(148,163,184,.035); }
    .app-main .form-label, .modal .form-label { margin-bottom: 9px; font-weight: 600; }
    .app-main .form-control:not(textarea), .app-main .form-select { min-height: 44px; }
    .app-main .form-control::placeholder, .modal .form-control::placeholder { opacity: .8; }
    .app-main .form-control:focus, .app-main .form-select:focus { box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
    .app-sidebar .menu-link { margin-block: 3px; padding-block: 12px; transition: background-color .18s; }
    .app-sidebar .menu-link.active { background: rgba(59,130,246,.12)!important; }
    .app-sidebar .menu-heading { font-size: .78rem; line-height: 1.7; }
    .app-main .btn, .modal .btn, .fi-btn { transition: background-color .18s, box-shadow .18s; }
    .app-main .btn-primary, .fi-btn.fi-color-primary { box-shadow: 0 5px 14px -8px rgba(37,99,235,.75); }
    .app-main .btn:focus-visible, .app-sidebar a:focus-visible,
    .fi-btn:focus-visible, .fi-sidebar a:focus-visible {
        outline: 2px solid #60a5fa; outline-offset: 3px;
    }
    .fi-header-heading { line-height: 1.45; }
    .fi-ta-header { gap: 14px; }
    .fi-ta-header-cell { padding-block: 15px; }
    .fi-sidebar-item-button { transition: background-color .18s; }
    .dark .fi-sidebar-item-active .fi-sidebar-item-button { background: rgba(59,130,246,.12); }
    .dark .fi-ta-row:hover { background-color: rgba(148,163,184,.07); }
    [data-bs-theme="dark"] .modal-content { border-color: rgba(148,163,184,.22); }
    .modal-header, .modal-footer { gap: 12px; }
    .nx-landing { --line: rgba(148,163,184,.16); }
    .nx-landing .header { box-shadow: 0 1px 0 rgba(148,163,184,.1); }
    .nx-landing .hero h1 { letter-spacing: -.035em; line-height: 1.35; }
    .nx-landing[dir="rtl"] .hero h1, [dir="rtl"] .nx-landing .hero h1 { letter-spacing: 0; }
    .nx-landing .hero-copy > p, .nx-landing .section-copy { line-height: 1.95; }
    .nx-landing .section-title { line-height: 1.5; }
    .nx-landing .game, .nx-landing .feature, .nx-landing .solution {
        box-shadow: 0 16px 34px -28px rgba(0,0,0,.65);
        transition: border-color .2s, transform .2s, box-shadow .2s;
    }
    .nx-landing .game:hover, .nx-landing .feature:hover, .nx-landing .solution:hover {
        border-color: rgba(96,165,250,.38); transform: translateY(-3px);
        box-shadow: 0 18px 38px -26px rgba(37,99,235,.32);
    }
    .nx-landing .btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
    .nx-landing .btn-primary { box-shadow: 0 8px 24px -12px rgba(37,99,235,.75); }
    .nx-landing .nav a:hover, .nx-landing .footer-nav a:hover { color: #93c5fd; }
    .nx-landing .faq details { padding-inline: 20px; border: 1px solid var(--line); border-radius: 14px; margin-block: 12px; background: rgba(30,41,59,.3); }
    .nx-landing .faq details[open] { border-color: rgba(96,165,250,.35); background: rgba(30,41,59,.65); }
    .nx-landing a:focus-visible, .nx-landing summary:focus-visible { outline: 2px solid #60a5fa; outline-offset: 5px; border-radius: 6px; }
    .nx-landing section[id] { scroll-margin-top: 96px; }
    @media(max-width:767px) {
        .app-main .card-header { padding-inline: 20px; }
        .app-toolbar { padding-block: 18px!important; }
        .app-main .table tbody td { padding-block: 14px; }
        .nx-landing .hero h1 { font-size: clamp(30px,8.5vw,39px); }
        .nx-landing .faq details { padding: 17px; }
    }
    @media(prefers-reduced-motion:reduce) {
        .nx-landing .game, .nx-landing .feature, .nx-landing .solution,
        .app-main .btn, .fi-btn, .app-sidebar .menu-link { transition: none; transform: none; }
    }
}
