:root {
    --tsa-page: #f8fafc;
    --tsa-surface: #ffffff;
    --tsa-surface-muted: #f1f5f9;
    --tsa-border: rgba(15, 23, 42, 0.10);
    --tsa-text: #0f172a;
    --tsa-text-muted: #64748b;
    --tsa-primary: #4f46e5;
    --tsa-success: #16a34a;
    --tsa-warning: #f59e0b;
    --tsa-danger: #dc2626;
    --tsa-violet: #4f46e5;
    --tsa-violet-soft: rgba(79, 70, 229, 0.10);
    --tsa-violet-border: rgba(79, 70, 229, 0.26);
    --tsa-violet-border-strong: rgba(79, 70, 229, 0.48);
    --tsa-blue-violet-start: #6366f1;
    --tsa-blue-violet-end: #4338ca;
    --tsa-font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tsa-font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --tsa-control-radius: 0.65rem;
    --tsa-grid-image: linear-gradient(to right, rgba(15, 23, 42, 0.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(15, 23, 42, 0.045) 1px, transparent 1px);

    --color-primary-alpha: rgba(0, 82, 204, 0.08);
    --color-primary-border: rgba(0, 82, 204, 0.15);
    --color-secondary-alpha: rgba(74, 157, 127, 0.08);
    --color-secondary-border: rgba(74, 157, 127, 0.15);
    --color-tertiary-alpha: rgba(245, 158, 11, 0.08);
    --color-tertiary-border: rgba(245, 158, 11, 0.15);
    --color-accent-alpha: rgba(79, 70, 229, 0.09);
    --color-accent-border: rgba(79, 70, 229, 0.18);
}

.dark {
    --tsa-page: #020617;
    --tsa-surface: #0f172a;
    --tsa-surface-muted: #1e293b;
    --tsa-border: rgba(148, 163, 184, 0.18);
    --tsa-text: #f8fafc;
    --tsa-text-muted: #94a3b8;
    --tsa-primary: #6366f1;
    --tsa-success: #4ade80;
    --tsa-warning: #fbbf24;
    --tsa-danger: #fb7185;
    --tsa-violet: #6366f1;
    --tsa-violet-soft: rgba(99, 102, 241, 0.18);
    --tsa-violet-border: rgba(129, 140, 248, 0.42);
    --tsa-violet-border-strong: rgba(129, 140, 248, 0.65);
    --tsa-blue-violet-start: #6366f1;
    --tsa-blue-violet-end: #4338ca;
    --tsa-grid-image: linear-gradient(to right, rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.045) 1px, transparent 1px);

    --color-primary-alpha: rgba(37, 99, 235, 0.08);
    --color-primary-border: rgba(37, 99, 235, 0.15);
    --color-secondary-alpha: rgba(74, 222, 128, 0.08);
    --color-secondary-border: rgba(74, 222, 128, 0.15);
    --color-tertiary-alpha: rgba(251, 191, 36, 0.08);
    --color-tertiary-border: rgba(251, 191, 36, 0.15);
    --color-accent-alpha: rgba(99, 102, 241, 0.16);
    --color-accent-border: rgba(129, 140, 248, 0.30);
}

/* Deeper blue text and accents */
.text-primary,
.text--primary,
a.text-primary,
.text-blue-500,
.text-blue-600 {
    color: var(--tsa-primary) !important;
}
.dark .text-primary,
.dark .text--primary,
.dark a.text-primary,
.dark .text-blue-400,
.dark .text-blue-500 {
    color: var(--tsa-primary) !important;
}
.bg-primary,
.bg--primary {
    background-color: var(--tsa-primary) !important;
}
.border-primary,
.border--primary {
    border-color: var(--tsa-primary) !important;
}

/* Shared net background: keep it on the actual painted shell, not only body. */
.tsa-public-surface,
.tsa-app-surface,
.tsa-public-surface .nx-theme-bg {
    background-image: var(--tsa-grid-image) !important;
    background-size: 32px 32px !important;
    background-position: center center !important;
}

/* Public gradient utility classes can resolve to transparent when a page was
   built without the corresponding Tailwind color token. Restore a reliable
   blue-violet CTA treatment at the shared shell level. */
.tsa-public-surface a[class*="bg-gradient-to-r"][class*="text-white"],
.tsa-public-surface button[class*="bg-gradient-to-r"][class*="text-white"] {
    background-image: linear-gradient(135deg, var(--tsa-blue-violet-start) 0%, #4f46e5 50%, var(--tsa-blue-violet-end) 100%) !important;
    background-color: var(--tsa-blue-violet-start) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(61, 82, 205, 0.20) !important;
}

.tsa-public-surface a[class*="bg-white/30"][class*="text-dark"] {
    background-color: var(--tsa-violet-soft) !important;
    border-color: var(--tsa-violet-border) !important;
    color: #39449a !important;
}

/* Apply the same accent to public sections that use utility classes instead
   of the shared CTA component (About, Contact, FAQ, and policy content). */
.tsa-public-surface .text-primary,
.tsa-public-surface a.text-primary,
.tsa-public-surface .text--primary,
.tsa-auth-surface .text-primary,
.tsa-auth-surface a.text-primary {
    color: var(--tsa-violet) !important;
}

.tsa-public-surface [class*="bg-primary/10"],
.tsa-auth-surface [class*="bg-primary/10"] {
    background-color: var(--tsa-violet-soft) !important;
}

.tsa-public-surface [class*="bg-primary/20"],
.tsa-auth-surface [class*="bg-primary/20"] {
    background-color: rgba(79, 70, 229, 0.16) !important;
}

.tsa-public-surface [class*="bg-primary/90"],
.tsa-auth-surface [class*="bg-primary/90"] {
    background-color: var(--tsa-violet) !important;
}

.tsa-public-surface [class*="border-primary"],
.tsa-auth-surface [class*="border-primary"] {
    border-color: var(--tsa-violet-border) !important;
}

.tsa-public-surface [class*="hover:bg-primary"]:hover,
.tsa-auth-surface [class*="hover:bg-primary"]:hover {
    background-color: var(--tsa-violet) !important;
}

.tsa-public-surface [class*="hover:border-primary"]:hover,
.tsa-auth-surface [class*="hover:border-primary"]:hover {
    border-color: var(--tsa-violet-border-strong) !important;
}

/* Public controls should read as compact controls, not oversized capsules. */
.tsa-public-surface .filter-tab,
.tsa-public-surface .nx-hero-badge,
.tsa-public-surface .nx-section-intro .inline-flex,
.tsa-public-surface [class~="rounded-full"][class*="px-"] {
    border-radius: 0.65rem !important;
}

.tsa-public-surface .filter-tab {
    border-color: var(--tsa-violet-border) !important;
}

/* Shared violet language used by the public landing experience. Keep it scoped
   to the application shell so existing financial status colors remain intact. */
.tsa-app-surface #sidenav-main {
    border-right: 1px solid var(--tsa-violet-border) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
}

.tsa-public-surface,
.tsa-app-surface {
    font-family: var(--tsa-font-sans);
}

.tsa-app-surface .text-primary,
.tsa-app-surface a.text-primary,
.tsa-app-surface .text--primary,
.tsa-app-surface .hover\:text-primary:hover,
.tsa-app-surface .group:hover .group-hover\:text-primary {
    color: var(--tsa-violet) !important;
}

.tsa-app-surface .bg-primary,
.tsa-app-surface .bg--primary,
.tsa-app-surface .hover\:bg-primary:hover,
.tsa-app-surface .group:hover .group-hover\:bg-primary {
    background-color: var(--tsa-violet) !important;
}

.tsa-app-surface .border-primary,
.tsa-app-surface .border--primary,
.tsa-app-surface .hover\:border-primary:hover,
.tsa-app-surface .group:hover .group-hover\:border-primary {
    border-color: var(--tsa-violet) !important;
}

/* Neutral app controls use the same compact shape as the public filters. */
.tsa-app-surface .tab-button,
.tsa-app-surface .pool-chip,
.tsa-app-surface [class~="rounded-full"][class*="px-"] {
    border-radius: var(--tsa-control-radius) !important;
}

.tsa-app-surface button[class*="from-primary"][class*="to-secondary"],
.tsa-app-surface a[class*="from-primary"][class*="to-secondary"] {
    background-image: linear-gradient(135deg, var(--tsa-blue-violet-start) 0%, #4f46e5 50%, var(--tsa-blue-violet-end) 100%) !important;
    background-color: var(--tsa-blue-violet-start) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(61, 82, 205, 0.18) !important;
}

/* Tailwind utility buttons used by account pages, including Profile, should
   use the same confident CTA treatment as the homepage. */
.tsa-app-surface .btn-primary,
.tsa-app-surface .btn--primary,
.tsa-app-surface .btn--base:not([class*="danger"]):not([class*="success"]),
.tsa-app-surface button[class*="from-primary"][class*="to-secondary"],
.tsa-app-surface a[class*="from-primary"][class*="to-secondary"] {
    background-image: linear-gradient(135deg, var(--tsa-blue-violet-start) 0%, #4f46e5 50%, var(--tsa-blue-violet-end) 100%) !important;
    background-color: var(--tsa-blue-violet-start) !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

.tsa-app-surface [class*="hover:from-primary"]:hover,
.tsa-app-surface [class*="hover:to-secondary"]:hover {
    background-image: linear-gradient(135deg, var(--tsa-blue-violet-start) 0%, #4f46e5 50%, var(--tsa-blue-violet-end) 100%) !important;
    color: #ffffff !important;
}

.tsa-app-surface [class*="ring-primary"] {
    --tw-ring-color: var(--tsa-violet-soft) !important;
}

.tsa-public-surface input:focus,
.tsa-public-surface select:focus,
.tsa-public-surface textarea:focus,
.tsa-public-surface [contenteditable="true"]:focus,
.tsa-auth-surface input:focus,
.tsa-auth-surface select:focus,
.tsa-auth-surface textarea:focus,
.tsa-auth-surface [contenteditable="true"]:focus,
.tsa-app-surface input:focus,
.tsa-app-surface select:focus,
.tsa-app-surface textarea:focus,
.tsa-app-surface [contenteditable="true"]:focus {
    border-color: var(--tsa-violet) !important;
    box-shadow: 0 0 0 3px var(--tsa-violet-soft) !important;
}

.tsa-app-surface .tsa-content-shell {
    border-top: 1px solid var(--tsa-violet-border) !important;
}

.tsa-app-surface .nav-item.active {
    color: var(--tsa-violet) !important;
    background: var(--tsa-violet-soft) !important;
}

.tsa-app-surface .nav-item.active .nav-icon-wrapper,
.tsa-app-surface .nav-item.active span,
.tsa-app-surface .nav-item.active i {
    color: var(--tsa-violet) !important;
}

.tsa-app-surface #sidenav-main a[class*="bg-primary/10"],
.tsa-app-surface #sidenav-main a[class*="text-primary"] {
    color: var(--tsa-violet) !important;
}

.tsa-app-surface #sidenav-main a[class*="bg-primary/10"] {
    background-color: var(--tsa-violet-soft) !important;
}

.tsa-app-surface #sidenav-main [class*="bg-primary/10"] {
    background-color: var(--tsa-violet-soft) !important;
}

/* Keep the authenticated shell scrollbar in the same violet system as the
   active navigation state, including browsers that expose native scrollbars. */
.tsa-app-surface,
.tsa-app-surface #sidenav-main > .flex-1 {
    scrollbar-color: var(--tsa-violet-border-strong) transparent;
    scrollbar-width: thin;
}

.tsa-app-surface::-webkit-scrollbar,
.tsa-app-surface #sidenav-main > .flex-1::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.tsa-app-surface::-webkit-scrollbar-track,
.tsa-app-surface #sidenav-main > .flex-1::-webkit-scrollbar-track {
    background: transparent;
}

.tsa-app-surface::-webkit-scrollbar-thumb,
.tsa-app-surface #sidenav-main > .flex-1::-webkit-scrollbar-thumb {
    background: var(--tsa-violet-border-strong);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}

.tsa-app-surface .tsa-mobile-bottom-nav {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    z-index: 9990 !important;
    border-top: 1px solid var(--tsa-violet-border) !important;
    box-shadow: 0 -8px 24px rgba(61, 82, 205, 0.10);
    contain: none !important;
    isolation: isolate;
    overflow: visible !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* The viewport shell owns fixed positioning. The nav itself stays flow-sized
   so the raised center action can paint outside its row without being clipped. */
.tsa-app-surface .tsa-mobile-nav-viewport {
    position: fixed !important;
    inset-inline: 0 !important;
    bottom: 0 !important;
    z-index: 9990 !important;
    overflow: visible !important;
    contain: none !important;
    isolation: isolate;
    transform: none !important;
}

.tsa-app-surface .tsa-mobile-nav-viewport .tsa-mobile-bottom-nav {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    overflow: visible !important;
    contain: none !important;
}

.tsa-app-surface .tsa-header-btn:hover,
.tsa-app-surface .tsa-header-btn:focus-visible {
    color: var(--tsa-violet) !important;
    border-color: var(--tsa-violet-border) !important;
}

.tsa-app-surface .tsa-header-circle-btn {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    padding: 0 !important;
    border: 1px solid var(--tsa-violet-border) !important;
    border-radius: 9999px !important;
    background: transparent !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset !important;
}

.dark .tsa-app-surface .tsa-header-circle-btn {
    border-color: rgba(255, 255, 255, 0.38) !important;
}

.tsa-app-surface .tsa-header-circle-btn:hover,
.tsa-app-surface .tsa-header-circle-btn:focus-visible {
    background: var(--tsa-violet-soft) !important;
    border-color: var(--tsa-violet-border-strong) !important;
}

.tsa-public-surface a:focus-visible,
.tsa-app-surface a:focus-visible,
.tsa-app-surface button:focus-visible {
    outline: 2px solid var(--tsa-violet) !important;
    outline-offset: 2px;
}

/* ── WhatsApp Floating Widget Global Styles ── */
.nx-chat-dock__link,
.nx-chat-dock__item,
.nx-wa-widget,
a[href*="wa.me"].nx-wa-widget {
    position: fixed !important;
    bottom: 24px !important;
    right: 20px !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
@media (max-width: 767.98px) {
    .nx-chat-dock__link,
    .nx-chat-dock__item,
    .nx-wa-widget,
    a[href*="wa.me"].nx-wa-widget {
        bottom: calc(env(safe-area-inset-bottom, 0px) + 68px) !important;
        right: 16px !important;
    }
    .tsa-public-surface .nx-chat-dock__link,
    .tsa-public-surface .nx-chat-dock__item,
    .tsa-public-surface .nx-wa-widget,
    .tsa-public-surface a[href*="wa.me"].nx-wa-widget {
        bottom: calc(env(safe-area-inset-bottom, 0px) + 88px) !important;
    }
}

.nx-chat-dock__link[data-position="left"],
.nx-chat-dock__item[data-position="left"],
.nx-wa-widget[data-position="left"] {
    left: 20px !important;
    right: auto !important;
}

@media (max-width: 767.98px) {
    .nx-chat-dock__link[data-position="left"],
    .nx-chat-dock__item[data-position="left"],
    .nx-wa-widget[data-position="left"] {
        left: 16px !important;
        right: auto !important;
    }
}

.tsa-page-surface {
    background: var(--tsa-page);
    color: var(--tsa-text);
}

.tsa-card {
    background: var(--tsa-surface);
    border: 1px solid var(--tsa-border);
    color: var(--tsa-text);
}

.tsa-muted-card {
    background: var(--tsa-surface-muted);
    border: 1px solid var(--tsa-border);
}

.tsa-text-muted {
    color: var(--tsa-text-muted);
}

.tsa-focus-ring:focus-visible {
    outline: 2px solid var(--tsa-primary);
    outline-offset: 2px;
}

.tsa-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 0.875rem;
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.tsa-action:hover {
    transform: translateY(-1px);
}

.tsa-action:active {
    transform: translateY(0);
}

.tsa-interactive-card {
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.tsa-interactive-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--tsa-primary) 34%, var(--tsa-border));
}

.tsa-skeleton {
    position: relative;
    overflow: hidden;
    background: var(--tsa-surface-muted);
}

.tsa-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.24), transparent);
    animation: tsa-skeleton-sweep 1.2s infinite;
}

@keyframes tsa-skeleton-sweep {
    100% {
        transform: translateX(100%);
    }
}

.tsa-chart-frame {
    min-height: 320px;
    aspect-ratio: 16 / 9;
}

.tsa-history-table {
    background: var(--tsa-surface);
    border-color: var(--tsa-border);
}

.tsa-history-row {
    transition: background-color 150ms ease, transform 150ms ease;
}

.tsa-history-row:hover {
    background: color-mix(in srgb, var(--tsa-primary) 7%, transparent);
}

.tsa-drawer-active {
    transform: translateX(0) !important;
}

.tsa-backdrop-active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.custom--pagination .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

@keyframes pulse-fast {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.skeleton-pulsing {
    animation: pulse-fast 1.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.reveal-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-active {
    opacity: 1;
    transform: translateY(0);
}

.dark .bg-white,
.dark .bg-light-50,
.dark .bg-light-100,
.dark .bg-white\/30,
.dark .bg-white\/40,
.dark .bg-white\/60,
.dark .bg-white\/70,
.dark .bg-white\/80,
.dark .bg-white\/90,
.dark .bg-white\/95 {
    background-color: var(--tsa-surface) !important;
}

.dark .border-light-100,
.dark .border-light-200,
.dark .border-light-300 {
    border-color: var(--tsa-border) !important;
}

@media (max-width: 640px) {
    .tsa-chart-frame {
        min-height: 260px;
        aspect-ratio: 4 / 3;
    }

    #trx-detail-drawer {
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 85vh !important;
        transform: translateY(100%) !important;
        border-top-left-radius: 28px !important;
        border-top-right-radius: 28px !important;
        border-left: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        padding-bottom: 2rem !important;
        box-shadow: 0 -15px 30px rgba(0, 0, 0, 0.3) !important;
    }

    #trx-detail-drawer.tsa-drawer-active {
        transform: translateY(0) !important;
    }
}

/* Zero-Knowledge Stealth Mode (2027 Upgrade) */
.stealth-mode-active .hideable-balance {
    filter: blur(8px);
    transition: filter 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    pointer-events: none;
}
.hideable-balance {
    transition: filter 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 2028 Gamified Metallic Cards & specular reflections */
.vip-metallic-card {
    background-image: linear-gradient(135deg, #111827 0%, #1f2937 100%), linear-gradient(to right, rgba(251, 191, 36, 0.4), rgba(245, 158, 11, 0.4)) !important;
    background-clip: padding-box, border-box;
    background-origin: border-box;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transform-style: preserve-3d;
}

.vip-metallic-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.08) 40%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.08) 60%, transparent 70%);
    background-size: 200% 100%;
    background-position: 200% 0;
    transition: background-position 0.8s ease;
    pointer-events: none;
    z-index: 2;
}

.vip-metallic-card:hover::after {
    background-position: -200% 0;
}

/* Product Alpha Colors for Exposure Treemap */
.bg-product-primary-alpha { background-color: var(--color-primary-alpha); }
.border-product-primary-alpha { border-color: var(--color-primary-border); }
.text-product-primary { color: var(--tsa-primary); }

.bg-product-secondary-alpha { background-color: var(--color-secondary-alpha); }
.border-product-secondary-alpha { border-color: var(--color-secondary-border); }
.text-product-secondary { color: #4a9d7f; }

.bg-product-tertiary-alpha { background-color: var(--color-tertiary-alpha); }
.border-product-tertiary-alpha { border-color: var(--color-tertiary-border); }
.text-product-tertiary { color: #f59e0b; }

.bg-product-accent-alpha { background-color: var(--color-accent-alpha); }
.border-product-accent-alpha { border-color: var(--color-accent-border); }
.text-product-accent { color: #4f46e5; }

/* Dark mode variations for exposure products */
.dark .text-product-primary { color: var(--tsa-primary); }
.dark .text-product-secondary { color: var(--tsa-success); }
.dark .text-product-tertiary { color: var(--tsa-warning); }
.dark .text-product-accent { color: #818cf8; }

/* Compact consent banner: keep it clear without covering the mobile shell. */
.cookies-card {
    position: fixed;
    width: min(360px, calc(100vw - 30px));
    padding: 14px 16px;
    left: 15px;
    bottom: 18px;
    border-radius: 12px;
    z-index: 10025;
    box-shadow: 0 10px 28px rgba(2, 6, 23, 0.22);
}

.cookies-card.hide {
    display: none !important;
}

.cookies-card__icon {
    width: 36px;
    height: 36px;
    font-size: 19px;
}

.cookies-card__content {
    margin-top: 0.65rem !important;
    margin-bottom: 0;
    font-size: 0.8rem;
    line-height: 1.4;
}

.cookies-card__btn {
    margin-top: 0.7rem !important;
}

.cookies-card .policy {
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    position: relative;
    z-index: 1;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    display: block;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767.98px) {
    .cookies-card {
        width: min(360px, calc(100vw - 24px));
        left: 12px;
        right: 12px;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 84px);
        padding: 12px 14px 13px;
    }

    .cookies-card__icon {
        display: inline-flex;
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .cookies-card__content {
        margin-top: 0.55rem !important;
        font-size: 0.78rem;
        line-height: 1.45;
    }

    .cookies-card__btn {
        margin-top: 0.6rem !important;
    }

    .cookies-card .policy {
        min-height: 44px;
        padding: 0.52rem 0.75rem;
        font-size: 0.78rem;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
}
