/* StockMarketApp Premium UI/UX Design System */
:root {
    --bg: #f4f7fb;
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --surface-3: #eef3f8;
    --text: #172033;
    --muted: #667085;
    --border: #e4e9f0;
    --primary: #2563eb;
    --primary-2: #1d4ed8;
    --success: #0f9f6e;
    --danger: #dc4c64;
    --warning: #c98a12;
    --sidebar: #0a1220;
    --sidebar-text: #b8c2d3;
    --sidebar-active: rgba(255,255,255,.09);
    --shadow-sm: 0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.04);
    --shadow-md: 0 10px 30px rgba(15,23,42,.08);
    --radius: 12px;
}
html { font-size: 15px; scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); min-height:100vh; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--primary); }
.card,.metric-card,.market-card,.asset-summary-card { border:1px solid var(--border); box-shadow:var(--shadow-sm); border-radius:var(--radius); background:var(--surface); }
.card { color:var(--text); }
.card-header { border-bottom-color:var(--border)!important; }
.table { --bs-table-bg:transparent; --bs-table-color:var(--text); }
.table thead th { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.055em; font-weight:700; border-bottom:1px solid var(--border); }
.table td,.table th { border-color:var(--border); }
.form-control,.form-select { background:var(--surface); color:var(--text); border-color:var(--border); }
.form-control:focus,.form-select:focus { border-color:#8bb0ff; box-shadow:0 0 0 .2rem rgba(37,99,235,.12); background:var(--surface); color:var(--text); }
.text-muted { color:var(--muted)!important; }
.btn { border-radius:9px; font-weight:600; }
.btn-primary { background:var(--primary); border-color:var(--primary); }
.btn-primary:hover { background:var(--primary-2); border-color:var(--primary-2); }
.positive { color:var(--success)!important; } .negative { color:var(--danger)!important; }
.app-shell { min-height:100vh; display:flex; }
.app-sidebar { position:fixed; inset:0 auto 0 0; width:252px; background:var(--sidebar); color:var(--sidebar-text); flex-direction:column; z-index:1030; border-right:1px solid rgba(255,255,255,.06); }
.sidebar-brand { padding:1.25rem 1.2rem 1.15rem; border-bottom:1px solid rgba(255,255,255,.06); }
.brand-link { display:flex; align-items:center; gap:.7rem; color:#fff; text-decoration:none; }
.brand-link strong { display:block; font-size:1rem; letter-spacing:-.02em; }
.brand-link small { display:block; color:#7f8ba0; font-size:.58rem; letter-spacing:.14em; margin-top:.12rem; }
.brand-mark { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#3b82f6,#7c3aed); font-weight:800; box-shadow:0 8px 20px rgba(59,130,246,.25); }
.sidebar-section { padding:.9rem .75rem 0; }
.sidebar-label { display:block; padding:.25rem .7rem .5rem; color:#66748a; font-size:.64rem; text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.sidebar-nav { display:flex; flex-direction:column; gap:.18rem; }
.sidebar-link { display:flex; align-items:center; gap:.7rem; padding:.62rem .72rem; border-radius:9px; color:var(--sidebar-text); text-decoration:none; font-size:.84rem; font-weight:600; transition:background .15s ease,color .15s ease,transform .15s ease; }
.sidebar-link:hover { color:#fff; background:rgba(255,255,255,.055); transform:translateX(1px); }
.sidebar-link.active { color:#fff; background:var(--sidebar-active); box-shadow:inset 3px 0 0 #4f8cff; }
.nav-icon { width:20px; text-align:center; color:#8290a6; font-size:1rem; }
.sidebar-link.active .nav-icon { color:#77a5ff; }
.sidebar-footer { margin-top:auto; padding:1rem 1.15rem 1.2rem; border-top:1px solid rgba(255,255,255,.06); }
.sidebar-footer small { display:block; color:#66748a; margin-top:.45rem; }
.live-indicator { font-size:.7rem; color:#9eabc0; display:flex; align-items:center; gap:.45rem; }
.live-indicator span { width:7px; height:7px; background:#19b67b; border-radius:50%; box-shadow:0 0 0 4px rgba(25,182,123,.12); }
.app-content { margin-left:252px; width:calc(100% - 252px); min-width:0; }
.app-topbar { position:sticky; top:0; z-index:1020; background:rgba(255,255,255,.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); }
.topbar-inner { min-height:68px; display:flex; align-items:center; gap:1rem; }
.global-search { flex:1; max-width:620px; position:relative; display:flex; align-items:center; }
.global-search input { width:100%; height:40px; padding:.45rem 4rem .45rem 2.35rem; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); color:var(--text); outline:none; transition:.15s ease; }
.global-search input:focus { background:var(--surface); border-color:#a9c2fa; box-shadow:0 0 0 3px rgba(37,99,235,.08); }
.search-icon { position:absolute; left:.8rem; color:#8995a7; font-size:1.1rem; z-index:1; }
.global-search kbd { position:absolute; right:.55rem; background:var(--surface); border:1px solid var(--border); color:#8995a7; border-radius:5px; padding:.13rem .35rem; font-size:.62rem; }
.topbar-actions { margin-left:auto; display:flex; align-items:center; gap:.7rem; }
.market-status { display:flex; align-items:center; gap:.35rem; padding-right:.75rem; border-right:1px solid var(--border); font-size:.72rem; color:var(--muted); }
.market-status span { width:7px; height:7px; border-radius:50%; background:#16a36f; box-shadow:0 0 0 3px rgba(22,163,111,.1); }
.market-status b { color:var(--text); font-size:.72rem; }
.market-status small { display:none; }
.icon-btn { width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted); }
.icon-btn:hover { color:var(--text); background:var(--surface-2); }
.user-menu { display:flex; align-items:center; gap:.5rem; color:var(--text); text-decoration:none; font-size:.78rem; font-weight:600; }
.avatar { width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8efff;color:#2859c7;font-weight:800; }
.logout-btn { border:0;background:none;color:var(--muted);font-size:.75rem;font-weight:600;padding:.35rem; }
.mobile-menu-btn { border:1px solid var(--border); color:var(--text); background:var(--surface); }
.mobile-brand { color:var(--text); text-decoration:none; font-weight:800; }
.mobile-brand span { color:var(--primary); }
.app-main { padding:1.35rem 0 2.5rem; min-height:calc(100vh - 120px); }
.app-footer { border-top:1px solid var(--border); padding:1rem 0; color:var(--muted); font-size:.7rem; background:var(--surface); }
.app-alert { border-radius:10px; border:0; box-shadow:var(--shadow-sm); }
.hero { background:radial-gradient(circle at 80% 20%,rgba(90,128,255,.26),transparent 34%),linear-gradient(135deg,#0b1729,#152b4b 65%,#1e3a67); color:#fff; border-radius:16px!important; box-shadow:0 14px 35px rgba(10,28,55,.15); }
.metric-card { padding:1.15rem; display:flex; flex-direction:column; gap:.35rem; }
.metric-card span { color:var(--muted); font-size:.75rem; font-weight:600; }
.metric-card strong { font-size:1.42rem; letter-spacing:-.02em; }
.market-card { transition:transform .15s ease,box-shadow .15s ease; }
.market-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.auth-card { max-width:460px; background:var(--surface); padding:2rem; border-radius:16px; box-shadow:var(--shadow-md); border:1px solid var(--border); }
footer { background:var(--surface); }
.stock-page { --stock-border:var(--border); }
.stock-price-card { background:linear-gradient(135deg,var(--surface),var(--surface-2)); }
.stock-price-value { font-size:clamp(2.15rem,4vw,3.2rem); font-weight:800; letter-spacing:-.04em; line-height:1.05; }
.stock-stat-grid > div { border-right:1px solid var(--border); padding-right:.75rem; }
.stock-stat-grid > div:nth-child(4n) { border-right:0; }
.stock-stat-grid span { display:block; color:var(--muted); font-size:.78rem; margin-bottom:.2rem; }
.stock-stat-grid strong { font-size:1.05rem; }
.stock-chart-card { overflow:hidden; }
.stock-chart-wrap { position:relative; height:480px; min-height:360px; }
.chart-toolbar { border-top:1px solid var(--border); padding-top:.75rem; }
.timeframe-group { flex-wrap:wrap; }
.timeframe-group .btn.active { color:#fff; background:var(--primary); border-color:var(--primary); }
.chart-toolbar .form-check-input:disabled + .form-check-label { opacity:.45; }
.performance-chip { background:var(--surface-2); border:1px solid var(--border); border-radius:.65rem; padding:.7rem .8rem; display:flex; justify-content:space-between; gap:.5rem; }
.performance-chip span { color:var(--muted); font-size:.8rem; }
.indicator-chart-wrap { height:260px; }
.technical-summary-card { border-color:var(--border); }
.market-tabs { display:flex; gap:.55rem; flex-wrap:wrap; }
.market-tab { display:inline-flex; align-items:center; gap:.45rem; padding:.65rem 1rem; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text); text-decoration:none; font-weight:650; transition:.15s ease; }
.market-tab:hover { transform:translateY(-1px); border-color:#aab8cc; color:var(--primary); }
.market-tab.active { background:var(--sidebar); border-color:var(--sidebar); color:#fff; box-shadow:0 4px 14px rgba(13,23,38,.16); }
.market-tab-icon { font-size:1rem; }
.asset-summary-card { padding:1.15rem; color:var(--text); transition:.15s ease; }
.asset-summary-card:hover,.asset-summary-card.active { transform:translateY(-2px); box-shadow:var(--shadow-md); border-color:#aab8cc; }
.asset-summary-card.active { outline:2px solid rgba(37,99,235,.1); }
.asset-status-dot { width:.65rem; height:.65rem; border-radius:50%; background:#12b76a; box-shadow:0 0 0 4px rgba(18,183,106,.1); }
.dashboard-step { height:100%; border:1px solid var(--border); border-radius:.75rem; padding:1rem; display:flex; flex-direction:column; gap:.25rem; }
.dashboard-step span { color:var(--primary); font-size:.75rem; font-weight:700; }
.dashboard-step strong { font-size:1rem; }
.dashboard-step small { color:var(--muted); }
.analysis-action-card { border:1px solid var(--border); border-radius:.8rem; transition:.15s ease; color:var(--text); background:var(--surface); }
.analysis-action-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.draw-tool.active { color:#fff; background:var(--primary); border-color:var(--primary); }
.stock-chart-wrap canvas { touch-action:none; }
.min-width-0 { min-width:0; }
.section-eyebrow { color:var(--primary); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.page-heading { font-weight:800; letter-spacing:-.035em; }
.page-subtitle { color:var(--muted); max-width:760px; }
.data-table-wrap { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--surface); box-shadow:var(--shadow-sm); }
.premium-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border-bottom:1px solid var(--border); background:var(--surface); }
.pill-status { display:inline-flex; align-items:center; gap:.4rem; border-radius:999px; padding:.28rem .55rem; font-size:.68rem; font-weight:750; background:var(--surface-2); color:var(--muted); }
.skeleton { position:relative; overflow:hidden; background:var(--surface-3); border-radius:6px; }
.skeleton::after { content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); animation:skeleton-shimmer 1.35s infinite; }
@keyframes skeleton-shimmer { 100% { transform:translateX(100%); } }
.mobile-offcanvas { background:var(--sidebar); color:var(--sidebar-text); width:280px!important; }
.mobile-offcanvas .offcanvas-header { border-bottom:1px solid rgba(255,255,255,.07); }
.mobile-offcanvas .btn-close { filter:invert(1); }
.mobile-offcanvas .sidebar-link { margin-bottom:.2rem; }
@media (max-width: 991.98px) {
    .app-content { margin-left:0; width:100%; }
    .topbar-inner { min-height:62px; }
    .global-search { order:3; flex-basis:100%; max-width:none; padding-bottom:.7rem; }
    .topbar-inner { flex-wrap:wrap; }
    .topbar-actions { margin-left:auto; }
    .app-topbar { position:sticky; }
    .market-status { display:none; }
    .app-main { padding-top:1rem; }
}
@media (max-width: 767.98px) {
    .topbar-inner { gap:.55rem; }
    .mobile-brand { font-size:.9rem; }
    .topbar-actions { gap:.35rem; }
    .global-search input { height:38px; }
    .stock-chart-wrap { height:390px; }
    .timeframe-group { width:100%; }
    .timeframe-group .btn { flex:1 0 auto; }
    .stock-stat-grid > div { border-right:0; }
    .hero { padding:1.25rem!important; }
    .premium-toolbar { align-items:flex-start; flex-direction:column; }
}
/* Dark theme */
html[data-theme="dark"] {
    --bg:#080d16; --surface:#0f1724; --surface-2:#141e2d; --surface-3:#1b2637; --text:#e6edf7; --muted:#91a0b5; --border:#263346;
    --sidebar:#060b13;
}
html[data-theme="dark"] body { background:var(--bg); color:var(--text); }
html[data-theme="dark"] .app-topbar { background:rgba(15,23,36,.88); }
html[data-theme="dark"] .app-footer { background:var(--surface); }
html[data-theme="dark"] .hero { background:radial-gradient(circle at 80% 20%,rgba(90,128,255,.18),transparent 34%),linear-gradient(135deg,#08111f,#10213a); }
html[data-theme="dark"] .btn-close { filter:invert(1); }
html[data-theme="dark"] .table-light, html[data-theme="dark"] .bg-white { background-color:var(--surface)!important; color:var(--text)!important; }
html[data-theme="dark"] .text-bg-light { background-color:var(--surface-2)!important; color:var(--text)!important; }
html[data-theme="dark"] .border-top, html[data-theme="dark"] .border-bottom { border-color:var(--border)!important; }
html[data-theme="dark"] .alert { color:var(--text); }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation-duration:.01ms!important; } }

/* Premium UI v2 - shared across all application pages */
.page-heading, h1.display-6, h1.h3 { letter-spacing:-.045em; }
.app-main > .container-fluid > *:first-child { animation: page-enter .22s ease-out both; }
@keyframes page-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.card { overflow:hidden; }
.card-header { padding:1rem 1.15rem; background:var(--surface)!important; }
.card-body { padding:1.15rem; }
.list-group { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.list-group-item { background:var(--surface); color:var(--text); border-color:var(--border); padding:1rem 1.15rem; }
.list-group-item-action:hover { background:var(--surface-2); color:var(--primary); }
.form-label { font-size:.76rem; font-weight:700; color:var(--muted); margin-bottom:.35rem; }
.form-control,.form-select { min-height:40px; border-radius:9px; }
textarea.form-control { min-height:100px; }
.btn-soft { background:var(--surface-2); color:var(--text); border:1px solid var(--border); }
.btn-soft:hover { background:var(--surface-3); color:var(--primary); border-color:#a9b9d0; }
.btn-outline-secondary { color:var(--muted); border-color:var(--border); }
.btn-outline-secondary:hover { background:var(--surface-2); color:var(--text); border-color:#a9b9d0; }
.btn-group .btn { font-size:.78rem; }
.table-responsive { scrollbar-width:thin; }
.table-hover > tbody > tr:hover { --bs-table-accent-bg:var(--surface-2); color:var(--text); }
.table td { font-size:.82rem; }
.table td:first-child a { text-decoration:none; }
.badge { font-weight:700; letter-spacing:.01em; }
.nav-tabs { border-color:var(--border); gap:.2rem; }
.nav-tabs .nav-link { color:var(--muted); border:0; border-bottom:2px solid transparent; font-weight:700; }
.nav-tabs .nav-link:hover { color:var(--text); border-color:transparent; }
.nav-tabs .nav-link.active { color:var(--primary); background:transparent; border-color:transparent transparent var(--primary); }
.alert { border-radius:10px; }
.premium-card { box-shadow:var(--shadow-sm); }
.stock-hero { padding:.25rem 0 .5rem; }
.symbol-exchange { display:inline-flex; align-items:center; padding:.25rem .55rem; border-radius:999px; background:var(--surface-2); color:var(--muted); border:1px solid var(--border); font-size:.68rem; font-weight:750; }
.session-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .55rem; border-radius:999px; background:var(--surface-2); color:var(--muted); border:1px solid var(--border); font-size:.68rem; font-weight:750; }
.session-badge span { width:6px; height:6px; border-radius:50%; background:#98a2b3; }
.session-badge.is-open { color:var(--success); }
.session-badge.is-open span { background:var(--success); box-shadow:0 0 0 3px rgba(15,159,110,.1); }
.stock-price-card { border-color:#d8e2f2; }
.stock-price-card .stock-price-value { text-shadow:0 1px 0 rgba(255,255,255,.35); }
.stock-summary-grid .card { min-height:150px; }
.stock-page .card-header strong { letter-spacing:-.015em; }
.stock-page .section-eyebrow { margin-bottom:0; }
.market-status .session-dot { flex:0 0 auto; }
.market-status:has(.session-dot) b { white-space:nowrap; }
.market-status small { max-width:240px; }
.data-table-wrap .table { margin-bottom:0; }
.kpi-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.kpi-strip > * { min-width:0; }
.filter-panel { background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; }
.filter-panel .form-control,.filter-panel .form-select { background:var(--surface); }
.empty-state { padding:3rem 1.25rem; text-align:center; color:var(--muted); }
.empty-state strong { display:block; color:var(--text); margin-bottom:.25rem; }
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--muted); margin-right:.35rem; }
.status-dot.success { background:var(--success); box-shadow:0 0 0 3px rgba(15,159,110,.1); }
@media (max-width: 767.98px) {
  .kpi-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stock-hero { padding-top:.15rem; }
  .stock-price-value { font-size:2.35rem; }
}
html[data-theme="dark"] .stock-price-card { border-color:var(--border); }
html[data-theme="dark"] .stock-price-card .stock-price-value { text-shadow:none; }
html[data-theme="dark"] .skeleton::after { background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); }

/* StockMarketApp premium v3 - unified workspace polish */
.page-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.metric-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);min-height:92px}
.metric-card span{display:block;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.metric-card strong{display:block;margin-top:.3rem;font-size:1.35rem;letter-spacing:-.025em}
.progress{background:var(--surface-3)}
.command-palette{position:fixed;inset:0;z-index:3000;display:none}
.command-palette.open{display:block}
.command-backdrop{position:absolute;inset:0;background:rgba(4,10,20,.56);backdrop-filter:blur(5px)}
.command-dialog{position:relative;width:min(720px,calc(100vw - 2rem));margin:10vh auto 0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.3);overflow:hidden}
.command-input-wrap{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border)}
.command-input-wrap span{font-size:1.3rem;color:var(--muted)}
.command-input-wrap input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:1rem}
.command-input-wrap kbd{color:var(--muted);font-size:.68rem}
.command-links{padding:.45rem}.command-links a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem .85rem;border-radius:9px;color:var(--text);text-decoration:none;font-weight:650}.command-links a:hover,.command-links a:focus{background:var(--surface-2);color:var(--primary)}.command-links small{color:var(--muted);font-weight:500}
.global-search{cursor:text}.global-search input{cursor:text}
@media(max-width:767.98px){.page-heading-row{flex-direction:column}.page-heading-row>.btn,.page-heading-row>form{width:100%}.page-heading-row>.btn{margin-top:.25rem}.command-dialog{margin-top:4vh}}

/* Performance/UX pass: keep pagination compact and contained on every viewport. */
.pagination-shell{display:flex;align-items:center;justify-content:space-between;gap:.85rem;max-width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.pagination-summary{color:var(--muted);font-size:.78rem;white-space:nowrap}.pagination-compact{display:flex;flex-wrap:nowrap;gap:.2rem;min-width:0;overflow-x:auto;scrollbar-width:thin}.pagination-compact .page-link{min-width:34px;height:34px;padding:.35rem .55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:7px!important;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.78rem}.pagination-compact .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-compact .page-item.disabled .page-link{background:var(--surface-2);color:var(--muted)}.search-filter-card{overflow:visible}@media(max-width:767.98px){.pagination-shell{align-items:stretch;flex-direction:column}.pagination-summary{white-space:normal}.pagination-compact{width:100%;padding-bottom:.15rem}.pagination-compact .page-link{min-width:32px}.search-filter-card .btn{min-height:40px}}

.market-mover-value{min-width:92px;max-width:150px;overflow:hidden}.market-volume{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton-block{height:72px;border-radius:12px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:skeleton-pulse 1.2s linear infinite}.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.loading-state{padding:2rem;text-align:center;color:var(--muted)}@keyframes skeleton-pulse{to{background-position:-200% 0}}.public-ticker-strip{display:flex;gap:.65rem;overflow:hidden;padding:.45rem 0}.public-ticker-item{flex:0 0 170px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.public-ticker-item .ticker-price{font-variant-numeric:tabular-nums}.public-ticker-track{display:flex;gap:.65rem;animation:ticker-marquee 24s linear infinite}.public-ticker-strip:hover .public-ticker-track{animation-play-state:paused}@keyframes ticker-marquee{from{transform:translateX(0)}to{transform:translateX(-30%)}}@media(max-width:767.98px){.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-mover-value{max-width:120px}.public-ticker-item{flex-basis:145px}}

.analytics-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1080;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:var(--bs-body-bg,#fff);border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 10px 35px rgba(0,0,0,.15)}
@media(max-width:700px){.analytics-consent{flex-direction:column;align-items:stretch}.analytics-consent .d-flex{justify-content:flex-end}}
