:root{--mv-session-progress:3%;}
/* ============================================================
   MARKETVISTA AI — SHARED HEADER STYLES
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.1
   DATE: 2026-03-25
============================================================ */

:root {
    --mv-header-bg-light: rgba(255, 255, 255, 0.9);
    --mv-header-bg-dark: rgba(11, 18, 32, 0.88);
    --mv-header-border-light: rgba(15, 23, 42, 0.08);
    --mv-header-border-dark: rgba(255, 255, 255, 0.08);
    --mv-header-shadow-light: 0 16px 40px rgba(15, 23, 42, 0.07);
    --mv-header-shadow-dark: 0 18px 42px rgba(2, 6, 23, 0.34);
    --mv-header-tile-bg-light: rgba(255, 255, 255, 0.9);
    --mv-header-tile-bg-dark: rgba(15, 23, 42, 0.78);
    --mv-header-tile-border-light: rgba(15, 23, 42, 0.08);
    --mv-header-tile-border-dark: rgba(255, 255, 255, 0.08);
    --mv-header-muted-light: #6b7280;
    --mv-header-muted-dark: #9ca3af;
    --mv-header-title-light: #0f172a;
    --mv-header-title-dark: #f8fafc;
    --mv-header-accent-1: #3b82f6;
    --mv-header-accent-2: #8b5cf6;
    --mv-header-accent-3: #f59e0b;
    --mv-header-success: #10b981;
    --mv-header-danger: #ef4444;
}

html[data-bs-theme="dark"] .mv-shared-header-shell {
    --mv-header-bg: var(--mv-header-bg-dark);
    --mv-header-border: var(--mv-header-border-dark);
    --mv-header-shadow: var(--mv-header-shadow-dark);
    --mv-header-tile-bg: var(--mv-header-tile-bg-dark);
    --mv-header-tile-border: var(--mv-header-tile-border-dark);
    --mv-header-muted: var(--mv-header-muted-dark);
    --mv-header-title: var(--mv-header-title-dark);
}

html[data-bs-theme="light"] .mv-shared-header-shell,
html:not([data-bs-theme="dark"]) .mv-shared-header-shell {
    --mv-header-bg: var(--mv-header-bg-light);
    --mv-header-border: var(--mv-header-border-light);
    --mv-header-shadow: var(--mv-header-shadow-light);
    --mv-header-tile-bg: var(--mv-header-tile-bg-light);
    --mv-header-tile-border: var(--mv-header-tile-border-light);
    --mv-header-muted: var(--mv-header-muted-light);
    --mv-header-title: var(--mv-header-title-light);
}

.mv-shared-header-shell {
    position: relative;
    z-index: 1030;
    background: var(--mv-header-bg);
    border-bottom: 1px solid var(--mv-header-border);
    box-shadow: var(--mv-header-shadow);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.mv-shared-header-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 1rem;
}

.mv-shared-header-left,
.mv-shared-header-right,
.mv-shared-header-center {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.mv-shared-header-right {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.mv-shared-header-center {
    justify-content: center;
}

.mv-shared-header-menu {
    display: flex;
    align-items: center;
}

.mv-shared-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    border: 1px solid var(--mv-header-tile-border);
    background: var(--mv-header-tile-bg);
    color: var(--mv-header-title);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.mv-shared-menu-btn:hover {
    color: var(--mv-header-title);
    transform: translateY(-1px);
}

.mv-shared-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
    text-decoration: none;
}

.mv-shared-brand:hover {
    text-decoration: none;
}

.mv-shared-brand.is-compact .mv-shared-brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 16px;
}

.mv-shared-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.14), rgba(139, 92, 246, 0.12));
    border: 1px solid rgba(59, 130, 246, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
    overflow: visible;
}


.mv-shared-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mv-shared-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.mv-shared-brand-title-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.mv-shared-brand-title {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--mv-header-title);
    white-space: nowrap;
}

.mv-shared-brand-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, var(--mv-header-accent-1), var(--mv-header-accent-2));
}

.mv-shared-brand-subtitle,
.mv-shared-page-context-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--mv-header-muted);
}

.mv-shared-page-context {
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.mv-shared-page-context-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--mv-header-title);
}

.mv-shared-header-divider {
    width: 1px;
    height: 42px;
    background: linear-gradient(180deg, transparent, var(--mv-header-border), transparent);
}


.mv-shared-header-right-separator {
    width: 1px;
    height: 38px;
    flex: 0 0 1px;
    align-self: center;
    background: linear-gradient(180deg, transparent, var(--mv-header-border), transparent);
    margin-inline: 0.1rem;
}

.mv-shared-market-cluster {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.mv-shared-status-strip,
.mv-shared-session-block,
.mv-shared-tile,
.mv-shared-action-link,
.mv-shared-avatar-btn {
    border: 1px solid var(--mv-header-tile-border);
    background: var(--mv-header-tile-bg);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.mv-shared-status-strip {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem;
    border-radius: 22px;
    min-width: 0;
}

.mv-shared-status-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.56rem 0.8rem;
    border-radius: 16px;
    background: rgba(59, 130, 246, 0.05);
    white-space: nowrap;
}

html[data-bs-theme="dark"] .mv-shared-status-item {
    background: rgba(255, 255, 255, 0.035);
}

.mv-shared-status-key,
.mv-shared-tile-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--mv-header-muted);
}

.mv-shared-status-value,
.mv-shared-tile-value {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--mv-header-title);
    line-height: 1.1;
}

.mv-shared-status-value.is-open,
.mv-shared-status-value.is-crypto {
    color: var(--mv-header-success);
}

.mv-shared-status-value.is-closed {
    color: var(--mv-header-danger);
}

.mv-shared-status-value.is-pre,
.mv-shared-status-value.is-after,
.mv-shared-status-value.is-overnight {
    color: var(--mv-header-accent-3);
}

.mv-shared-session-block {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: auto;
    padding: 0.72rem 0.9rem;
    border-radius: 18px;
    white-space: nowrap;
}

.mv-shared-session-top {
    font-size: 0.84rem;
    font-weight: 800;
    color: var(--mv-header-title);
    white-space: nowrap;
}

.mv-shared-session-bottom {
    font-size: 0.76rem;
    color: var(--mv-header-muted);
    white-space: nowrap;
}

.mv-shared-tile,
.mv-shared-action-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 56px;
    padding: 0.7rem 0.95rem;
    border-radius: 20px;
}

.mv-shared-tile {
    color: var(--mv-header-title);
}

.mv-shared-tile > i,
.mv-shared-action-link > i,
.mv-shared-theme-btn > i {
    font-size: 1.25rem;
}

.mv-shared-theme-btn {
    color: var(--mv-header-title);
}

.mv-shared-theme-btn:hover,
.mv-shared-action-link:hover {
    transform: translateY(-1px);
}


.mv-shared-system-inline {
    min-height: auto;
    padding: 0.25rem 0.15rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 0.42rem;
    white-space: nowrap;
}

.mv-shared-system-inline .mv-shared-status-pulse-wrap {
    width: 16px;
    height: 16px;
}

.mv-shared-system-inline .mv-shared-tile-copy {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    white-space: nowrap;
}

.mv-shared-system-inline .mv-shared-tile-label,
.mv-shared-system-inline .mv-shared-tile-value {
    display: inline-block;
    margin: 0;
    line-height: 1;
}

.mv-shared-system-inline .mv-shared-tile-label {
    letter-spacing: 0.14em;
}

.mv-shared-theme-icon-btn {
    width: 46px;
    min-width: 46px;
    min-height: 46px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    justify-content: center;
    gap: 0;
}

.mv-shared-theme-icon-btn > div {
    display: none;
}

.mv-shared-theme-icon-btn > i {
    font-size: 1.4rem;
}

.mv-shared-action-link {
    font-weight: 700;
    color: var(--mv-header-title);
    text-decoration: none;
}

.mv-shared-action-link:hover {
    color: var(--mv-header-title);
    text-decoration: none;
}

.mv-shared-role-tile {
    position: relative;
    overflow: hidden;
    border-color: rgba(245, 158, 11, 0.28);
    background:
        linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(245, 158, 11, 0.14)),
        var(--mv-header-tile-bg);
}

.mv-shared-role-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #fff;
    background: linear-gradient(135deg, #8b5cf6, #f59e0b);
}

.mv-shared-role-pill.mv-role-admin,
.mv-shared-role-pill.mv-role-super_admin {
    background: linear-gradient(135deg, #8b5cf6, #f59e0b);
}

.mv-shared-role-pill.mv-role-paid_user {
    background: linear-gradient(135deg, #10b981, #14b8a6);
}

.mv-shared-role-pill.mv-role-moderator {
    background: linear-gradient(135deg, #3b82f6, #22c55e);
}

.mv-shared-role-pill.mv-role-free_user,
.mv-shared-role-pill.mv-role-member {
    background: linear-gradient(135deg, #64748b, #3b82f6);
}

.mv-shared-avatar-role-badge.mv-role-admin,
.mv-shared-avatar-role-badge.mv-role-super_admin {
    --mv-avatar-role-bg: linear-gradient(135deg, #8b5cf6, #f59e0b);
    --mv-avatar-role-color: #fff4d6;
    --mv-avatar-role-border: rgba(255,255,255,.30);
    --mv-avatar-role-shadow: 0 10px 24px rgba(124,58,237,.28);
}

.mv-shared-avatar-role-badge.mv-role-paid_user {
    --mv-avatar-role-bg: linear-gradient(135deg, #10b981, #14b8a6);
    --mv-avatar-role-color: #ecfccb;
    --mv-avatar-role-border: rgba(255,255,255,.24);
    --mv-avatar-role-shadow: 0 10px 24px rgba(16,185,129,.22);
}

.mv-shared-avatar-role-badge.mv-role-moderator {
    --mv-avatar-role-bg: linear-gradient(135deg, #3b82f6, #22c55e);
    --mv-avatar-role-color: #d1fae5;
    --mv-avatar-role-border: rgba(255,255,255,.24);
    --mv-avatar-role-shadow: 0 10px 24px rgba(59,130,246,.22);
}

.mv-shared-avatar-role-badge.mv-role-free_user,
.mv-shared-avatar-role-badge.mv-role-member {
    --mv-avatar-role-bg: linear-gradient(135deg, #64748b, #3b82f6);
    --mv-avatar-role-color: #e2e8f0;
    --mv-avatar-role-border: rgba(255,255,255,.24);
    --mv-avatar-role-shadow: 0 10px 24px rgba(71,85,105,.22);
}

.mv-shared-status-pulse-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
}

.mv-shared-status-pulse {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 999px;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45);
    animation: mv-shared-pulse 1.8s infinite;
}

.mv-shared-status-pulse.ok {
    background: var(--mv-header-success);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45);
}

.mv-shared-status-pulse.warn {
    background: var(--mv-header-danger);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.35);
}

@keyframes mv-shared-pulse {
    0% { box-shadow: 0 0 0 0 currentColor; }
    70% { box-shadow: 0 0 0 10px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

.mv-shared-avatar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}


.mv-shared-avatar-btn::after {
    display: none;
}

.mv-shared-avatar-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv-shared-avatar-btn:not(:has(img)) {
    font-size: 1rem;
    font-weight: 800;
}

.mv-shared-user-menu {
    min-width: 250px;
    border-radius: 18px;
    border: 1px solid var(--mv-header-tile-border);
    padding: 0.55rem;
}

.mv-shared-user-name {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--mv-header-title);
}

.mv-shared-user-subtitle {
    font-size: 0.8rem;
    color: var(--mv-header-muted);
}

.mv-shared-guest-actions {
    display: flex;
    gap: 0.65rem;
}

.mv-marketbar {
    border-top: 1px solid var(--mv-header-border);
    padding: 0.55rem 1rem 0.7rem;
    overflow: visible;
}


.mv-marketbar-inner {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: max-content;
    min-width: max-content;
    flex-wrap: nowrap;
    will-change: transform;
    animation: mvTickerScroll 90s linear infinite;
}

.mv-marketbar:hover .mv-marketbar-inner {
    animation-play-state: paused;
}

.mv-marketbar-inner::-webkit-scrollbar {
    display: none;
}

.mv-market-item {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.58rem 0.78rem;
    border: 1px solid var(--mv-header-tile-border);
    border-radius: 16px;
    background: var(--mv-header-tile-bg);
    white-space: nowrap;
}

.mv-market-symbol {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mv-header-muted);
}

.mv-market-price {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--mv-header-title);
}

.mv-market-flat {
    font-size: 0.8rem;
    font-weight: 800;
}

.mv-market-flat.mv-pos { color: var(--mv-header-success); }
.mv-market-flat.mv-neg { color: var(--mv-header-danger); }
.mv-market-flat.mv-flat { color: var(--mv-header-muted); }

@keyframes mvTickerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}


@media (max-width: 1399.98px) {
    .mv-shared-header-main {
        grid-template-columns: auto 1fr;
    }

    .mv-shared-header-center {
        grid-column: 1 / -1;
        justify-content: flex-start;
        order: 3;
        overflow-x: auto;
        padding-top: 0.1rem;
    }
}

@media (max-width: 991.98px) {
    .mv-shared-header-main {
        gap: 0.8rem;
        padding: 0.75rem 0.85rem;
    }

    .mv-shared-header-left,
    .mv-shared-header-right {
        gap: 0.65rem;
    }

    .mv-shared-brand-copy {
        display: none;
    }

    .mv-shared-header-right {
        gap: 0.55rem;
    }

    .mv-shared-tile,
    .mv-shared-action-link {
        min-height: 52px;
        padding: 0.6rem 0.8rem;
    }

    .mv-marketbar {
        padding-inline: 0.85rem;
    }
}

@media (max-width: 767.98px) {
    .mv-shared-header-right {
        justify-content: flex-end;
    }

    .mv-shared-header-right-separator {
        display: none;
    }

    .mv-shared-tile-label,
    .mv-shared-tile-value,
    .mv-shared-action-link span {
        display: none;
    }

    .mv-shared-tile,
    .mv-shared-action-link,
    .mv-shared-theme-btn {
        width: 48px;
        min-width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
        justify-content: center;
        border-radius: 16px;
    }

    .mv-shared-avatar-btn {
        width: 48px;
        height: 48px;
    }

    .mv-marketbar {
        padding-bottom: 0.65rem;
    }
}


/* ============================================================
   GLOBAL SHELL + RESPONSIVE OVERRIDES
============================================================ */

:root {
    --mv-shared-header-height: 134px;
}

.topbar {
    height: auto !important;
    min-height: var(--mv-shared-header-height) !important;
}

.topbar .container-fluid.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mv-shared-header-left:empty {
    display: none;
}

.mv-shared-avatar-btn .um-avatar,
.mv-shared-avatar-btn .um-avatar-btn-photo,
.mv-shared-avatar-btn .um-avatar-photo {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.mv-shared-avatar-btn .um-avatar img,
.mv-shared-avatar-btn .um-avatar-btn-photo img,
.mv-shared-avatar-btn .um-avatar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mv-shared-header-shell .dropdown-menu {
    z-index: 1080;
}

@media (max-width: 991.98px) {
    :root {
        --mv-shared-header-height: 120px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --mv-shared-header-height: 110px;
    }

    .mv-shared-header-main {
        padding: 0.7rem;
        gap: 0.65rem;
    }

    .mv-shared-status-strip {
        padding: 0.28rem;
    }

    .mv-shared-status-item {
        padding: 0.45rem 0.62rem;
    }

    .mv-market-item {
        padding: 0.5rem 0.68rem;
    }
}

/* =========================================================
AVATAR ROLE BADGE SIZE + POSITION FIX
========================================================= */

.mv-shared-avatar-stack{
position:relative;
width:54px;
height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
vertical-align:middle;
}

.mv-shared-avatar-core{
width:54px;
height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
overflow:hidden;
}

.mv-shared-avatar-core > img,
.mv-shared-avatar-core img,
.mv-shared-avatar-btn img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.mv-shared-avatar-role-badge{
position:absolute;
top:-4px;
right:-4px;
min-width:28px;
height:22px;
padding:0 7px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:9px;
font-weight:900;
letter-spacing:.04em;
line-height:1;
white-space:nowrap;
color:var(--mv-avatar-role-color,#ffffff);
background:var(--mv-avatar-role-bg,linear-gradient(135deg,#8b5cf6,#f59e0b));
border:1px solid var(--mv-avatar-role-border,rgba(255,255,255,.24));
box-shadow:var(--mv-avatar-role-shadow,0 10px 24px rgba(124,58,237,.28));
z-index:3;
}


.mv-shared-user-menu-group {
    padding: 0.35rem 0.75rem 0.25rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--mv-header-muted);
}

.mv-shared-user-menu-item {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    border-radius: 12px;
    padding: 0.7rem 0.8rem;
    font-weight: 700;
}

.mv-shared-user-menu-item:hover {
    background: rgba(59, 130, 246, 0.08);
}

.mv-shared-user-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 12px;
    background: rgba(59, 130, 246, 0.10);
    color: var(--mv-header-title);
    flex: 0 0 auto;
}

.mv-shared-user-menu-label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.mv-shared-user-menu-item.text-danger .mv-shared-user-menu-icon {
    background: rgba(239, 68, 68, 0.10);
    color: #dc2626;
}


/* ============================================================
   MARKETVISTA AI — FRONTEND OVERFLOW HOTFIX
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.1
   DATE: 2026-03-25
============================================================ */

html, body {
    max-width: 100%;
}

body {
    overflow-x: clip;
}

.page-wrapper,
.page-content,
.container-fluid {
    max-width: 100%;
}

.mv-shared-header-shell,
.mv-shared-header-main,
.mv-marketbar {
    max-width: 100%;
}

.mv-marketbar {
    overflow: hidden;
}

.mv-marketbar-inner {
    max-width: none;
}

@supports not (overflow: clip) {
    body {
        overflow-x: hidden;
    }
}


/* ============================================================
   MARKETVISTA AI — FRONTEND ROOT OVERFLOW FIX 4
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.3
   DATE: 2026-03-25
============================================================ */

html,
body {
    max-width: 100%;
    overflow-x: hidden !important;
}

.page-wrapper {
    display: block !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
}

.page-content {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
}

@media (min-width: 680px) {
    .page-content {
        margin-left: var(--bs-startbar-width) !important;
    }

    body[data-sidebar-size="collapsed"] .page-content,
    body[data-sidebar-size=collapsed] .page-content {
        margin-left: var(--bs-startbar-collapsed-width) !important;
    }
}

@media (max-width: 679.98px) {
    .page-content {
        margin-left: 0 !important;
    }
}

.container-fluid,
.mv-dashboard,
.mv-left,
.mv-right,
.mv-widget,
.card,
.card-body,
.row {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.mv-dashboard {
    width: 100% !important;
    overflow-x: hidden !important;
}

.mv-left,
.mv-right {
    min-width: 0 !important;
}

.mv-widget canvas,
.mv-widget svg,
.mv-widget img,
.card canvas,
.card svg,
.card img {
    max-width: 100% !important;
    height: auto !important;
}

.table-responsive,
#paperPositionsTableWrap,
#paperTradeHistory,
#paperOrderEntry {
    max-width: 100% !important;
    overflow-x: auto !important;
}

/* Keep the ticker clipped without letting it widen the page */
.mv-marketbar {
    overflow: hidden !important;
}


/* ============================================================
   MARKETVISTA AI — OVERVIEW WIDGET HEIGHT NORMALIZATION HOTFIX
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.4
   DATE: 2026-03-25
============================================================ */

/* Only target the Account Overview / overview widget area */
.mv-widget[data-widget="overview"] .row,
.mv-widget[data-widget="overview"] .mv-overview-grid,
.mv-widget[data-widget="overview"] .overview-grid,
#mvOverviewWidget .row,
#mvOverviewWidget .mv-overview-grid,
#mvOverviewWidget .overview-grid {
    align-items: start !important;
    grid-auto-rows: minmax(0, auto) !important;
}

.mv-widget[data-widget="overview"] .row > [class*="col-"],
#mvOverviewWidget .row > [class*="col-"] {
    min-width: 0 !important;
}

.mv-widget[data-widget="overview"] .row > [class*="col-"] > .card,
.mv-widget[data-widget="overview"] .row > [class*="col-"] > .mv-overview-card,
.mv-widget[data-widget="overview"] .overview-card,
.mv-widget[data-widget="overview"] .kpi-card,
#mvOverviewWidget .row > [class*="col-"] > .card,
#mvOverviewWidget .row > [class*="col-"] > .mv-overview-card,
#mvOverviewWidget .overview-card,
#mvOverviewWidget .kpi-card {
    height: auto !important;
    min-height: 140px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    align-self: start !important;
    overflow: hidden !important;
}

.mv-widget[data-widget="overview"] .card-body,
.mv-widget[data-widget="overview"] .mv-overview-card-body,
#mvOverviewWidget .card-body,
#mvOverviewWidget .mv-overview-card-body {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 1rem !important;
}

.mv-widget[data-widget="overview"] .mv-sparkline,
.mv-widget[data-widget="overview"] .sparkline,
.mv-widget[data-widget="overview"] canvas,
#mvOverviewWidget .mv-sparkline,
#mvOverviewWidget .sparkline,
#mvOverviewWidget canvas {
    max-height: 56px !important;
}

.mv-widget[data-widget="overview"] .card > *:last-child,
#mvOverviewWidget .card > *:last-child {
    margin-bottom: 0 !important;
}


@media (max-width: 1199.98px) {
    .mv-shared-header-right {
        flex-wrap: wrap;
    }
}



/* ============================================================
   MARKETVISTA AI — HEADER PIN FIX
   DATE: 2026-03-29
============================================================ */
.mv-shared-header-shell{
position:relative;
width:100%;
}
.mv-marketbar{
position:relative;
z-index:1;
}


/* ============================================================
   MARKETVISTA AI — FIXED HEADER HOTFIX
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.5
   DATE: 2026-03-29
============================================================ */
:root {
    --mv-shared-header-height: 118px;
}

.topbar {
    position: static !important;
    height: 0 !important;
    min-height: 0 !important;
}

.mv-shared-header-shell {
    position: fixed !important;
    top: 0 !important;
    left: var(--bs-startbar-width, 270px) !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    z-index: 1105 !important;
}

.page-content {
    padding-top: calc(var(--mv-shared-header-height, 118px) + 12px) !important;
}

body[data-sidebar-size="collapsed"] .mv-shared-header-shell,
body[data-sidebar-size=collapsed] .mv-shared-header-shell {
    left: var(--bs-startbar-collapsed-width, 88px) !important;
}

@media (max-width: 679.98px) {
    .mv-shared-header-shell {
        left: 0 !important;
    }

    .page-content {
        padding-top: calc(var(--mv-shared-header-height, 106px) + 10px) !important;
    }
}


/* ============================================================
   MARKETVISTA AI — SHARED HEADER FINAL PARITY HOTFIX
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.4
   DATE: 2026-03-30
============================================================ */
:root{
  --mv-ticker-pill-height: 26px;
  --mv-ticker-pill-radius: 999px;
}

.mv-shared-session-block{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:0 !important;
  min-width:180px !important;
  padding:0.72rem 0.9rem 0.7rem !important;
  border-radius:18px !important;
}
.mv-shared-session-top{
  display:flex;
  align-items:center;
  gap:.35rem;
  font-size:.94rem;
  font-weight:800;
  color:var(--mv-header-title);
}
.mv-shared-session-bottom{
  margin-top:.16rem;
  font-size:.78rem;
  color:var(--mv-header-muted);
  white-space:nowrap;
}
.mv-shared-session-progress-track{
  position:relative;
  margin-top:.48rem;
  width:100%;
  height:5px;
  border-radius:999px;
  background:rgba(148,163,184,.26);
  overflow:hidden;
}
.mv-shared-session-progress-bar{
  display:block;
  height:100%;
  width:var(--mv-session-progress,3%);
  border-radius:inherit;
  background:linear-gradient(90deg,#94a3b8,#cbd5e1);
  transition:width .45s ease, background .25s ease, opacity .25s ease;
  opacity:1;
}
.mv-shared-session-block[data-session-state="open"] .mv-shared-session-progress-bar{background:linear-gradient(90deg,#10b981,#22c55e);}
.mv-shared-session-block[data-session-state="pre"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="after"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="overnight"] .mv-shared-session-progress-bar{background:linear-gradient(90deg,#f59e0b,#f97316);}
.mv-shared-session-block[data-session-state="weekend"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="flat"] .mv-shared-session-progress-bar{background:linear-gradient(90deg,#94a3b8,#cbd5e1);}

.mv-marketbar{
  padding:0.38rem 1rem 0.55rem !important;
  overflow:hidden !important;
  background:transparent !important;
  border-bottom:1px solid var(--mv-header-border) !important;
  height:auto !important;
}
.mv-marketbar-inner{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
  min-width:max-content !important;
  animation:mvTickerScroll 90s linear infinite !important;
}
.mv-market-item{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:.42rem !important;
  height:var(--mv-ticker-pill-height) !important;
  min-height:var(--mv-ticker-pill-height) !important;
  padding:0 12px !important;
  border-radius:var(--mv-ticker-pill-radius) !important;
  border:1px solid var(--mv-header-tile-border) !important;
  background:var(--mv-header-tile-bg) !important;
  box-shadow:none !important;
  white-space:nowrap;
  overflow:hidden;
}
.mv-market-item::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg,#94a3b8,#cbd5e1);
  pointer-events:none;
}
.mv-market-item[data-change-state="pos"]::before{background:linear-gradient(90deg,#10b981,#22c55e) !important;}
.mv-market-item[data-change-state="neg"]::before{background:linear-gradient(90deg,#ef4444,#f87171) !important;}
.mv-market-item[data-change-state="flat"]::before{background:linear-gradient(90deg,#94a3b8,#cbd5e1) !important;}
.mv-market-symbol{font-size:.71rem !important;letter-spacing:.08em !important;font-weight:700 !important;color:var(--mv-header-muted) !important;}
.mv-market-price{font-size:.84rem !important;font-weight:800 !important;line-height:1 !important;color:var(--mv-header-title) !important;}
.mv-market-flat{font-size:.79rem !important;font-weight:800 !important;line-height:1 !important;}
.mv-market-flat.mv-pos{color:var(--mv-header-success) !important;}
.mv-market-flat.mv-neg{color:var(--mv-header-danger) !important;}
.mv-market-flat.mv-flat{color:var(--mv-header-muted) !important;}

body.mv-backend-shell .mv-shared-header-shell{left:var(--um-sidebar-width,284px) !important;}
body.mv-backend-shell .um-shell.is-collapsed .mv-shared-header-shell{left:var(--um-sidebar-collapsed-width,92px) !important;}
body.mv-backend-shell .um-main > .container-fluid{padding-top:calc(var(--mv-shared-header-height,118px) + 12px) !important;}
body.mv-backend-shell .um-main{min-width:0;}
@media (max-width:991.98px){
  body.mv-backend-shell .mv-shared-header-shell{left:0 !important;}
  body.mv-backend-shell .um-main > .container-fluid{padding-top:calc(var(--mv-shared-header-height,106px) + 10px) !important;}
}


/* ============================================================
   MARKETVISTA AI — HEADER + SESSION CARD LAYOUT FIX
   FILE: /assets/css/mv-header-shared.css
   VERSION: 3.6
   DATE: 2026-03-30
============================================================ */
.topbar{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:auto !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  z-index:auto !important;
}

.mv-shared-header-shell{
  position:fixed !important;
  top:0 !important;
  left:var(--bs-startbar-width, 290px) !important;
  right:0 !important;
  width:auto !important;
  max-width:none !important;
  z-index:1105 !important;
}

.page-content{
  padding-top:calc(var(--mv-shared-header-height, 118px) + 12px) !important;
}

.mv-shared-market-cluster{
  display:flex !important;
  align-items:center !important;
  gap:.75rem !important;
  min-width:0 !important;
  flex-wrap:nowrap !important;
}

.mv-shared-session-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:.42rem !important;
  min-width:260px !important;
  max-width:320px !important;
  padding:.72rem .95rem .74rem !important;
  border-radius:18px !important;
}

.mv-shared-session-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:.8rem !important;
  min-width:0 !important;
  width:100% !important;
  flex-wrap:nowrap !important;
}

.mv-shared-session-top,
.mv-shared-session-bottom{
  white-space:nowrap !important;
  line-height:1.1 !important;
  margin:0 !important;
}

.mv-shared-session-top{
  display:inline-flex !important;
  align-items:center !important;
  gap:.35rem !important;
  flex:0 0 auto !important;
  font-size:.90rem !important;
}

.mv-shared-session-bottom{
  flex:1 1 auto !important;
  min-width:0 !important;
  text-align:right !important;
  font-size:.77rem !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.mv-shared-session-progress-track,
.mv-shared-session-progress{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:5px !important;
  margin-top:0 !important;
  border-radius:999px !important;
  background:rgba(148,163,184,.24) !important;
  overflow:hidden !important;
}

.mv-shared-session-progress-bar,
.mv-shared-session-progress-fill{
  display:block !important;
  width:3% !important;
  height:100% !important;
  border-radius:inherit !important;
  background:linear-gradient(90deg,#94a3b8,#cbd5e1) !important;
  transition:width .45s ease, background .25s ease, opacity .25s ease !important;
  opacity:1 !important;
}

.mv-shared-session-block[data-session-state="open"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="open"] .mv-shared-session-progress-fill{
  background:linear-gradient(90deg,#10b981,#22c55e) !important;
}

.mv-shared-session-block[data-session-state="pre"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="pre"] .mv-shared-session-progress-fill,
.mv-shared-session-block[data-session-state="after"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="after"] .mv-shared-session-progress-fill,
.mv-shared-session-block[data-session-state="overnight"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="overnight"] .mv-shared-session-progress-fill{
  background:linear-gradient(90deg,#f59e0b,#f97316) !important;
}

.mv-shared-session-block[data-session-state="weekend"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="weekend"] .mv-shared-session-progress-fill,
.mv-shared-session-block[data-session-state="flat"] .mv-shared-session-progress-bar,
.mv-shared-session-block[data-session-state="flat"] .mv-shared-session-progress-fill{
  background:linear-gradient(90deg,#94a3b8,#cbd5e1) !important;
}

body[data-sidebar-size="collapsed"] .mv-shared-header-shell,
body[data-sidebar-size=collapsed] .mv-shared-header-shell{
  left:var(--bs-startbar-collapsed-width, 102px) !important;
}

@media (max-width: 1399.98px){
  .mv-shared-session-block{
    min-width:240px !important;
  }
}

@media (max-width: 991.98px){
  .mv-shared-header-shell{
    left:0 !important;
  }

  .mv-shared-market-cluster{
    width:100% !important;
  }

  .mv-shared-session-block{
    min-width:220px !important;
    max-width:none !important;
  }
}

@media (max-width: 767.98px){
  .mv-shared-session-block{
    min-width:100% !important;
  }

  .mv-shared-session-row{
    gap:.55rem !important;
  }

  .mv-shared-session-top{
    font-size:.84rem !important;
  }

  .mv-shared-session-bottom{
    font-size:.72rem !important;
  }
}
