/* ==========================================
   1. TECHNICAL CHARTS (LWC)
========================================== */
.mqt-terminal { display:flex; flex-direction:column; background:var(--bg, #131722); font-family:sans-serif; font-size:13px; color:var(--txt, #d1d4dc); border-radius:8px; overflow:hidden; border:1px solid var(--brd, #2a2e39); box-shadow:0 8px 32px rgba(0,0,0,.4); }
.mqt-terminal.mqt-fullscreen { position:fixed!important; inset:0!important; z-index:99999!important; border-radius:0!important; margin:0!important; height:100vh!important; display:flex; flex-direction:column; }
.mqt-light { --bg:#ffffff; --bg2:#f0f3fa; --bg3:#d6dcde; --txt:#131722; --txt2:#787b86; --brd:#d6dcde; }
.mqt-chart-area { background:var(--bg, #131722); position:relative; min-height:400px; flex:1; overflow-y:auto; overflow-x:hidden; }
.mqt-topbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 14px; background:var(--bg2, #1e222d); border-bottom:1px solid var(--brd, #2a2e39); }
.mqt-sym-block { display:flex; align-items:center; gap:10px; flex:1; min-width:200px; }
.mqt-sym-badge { width:34px; height:34px; border-radius:6px; background:#2962ff; color:#fff; font-weight:700; font-size:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mqt-sym-name { font-weight:700; font-size:15px; color:var(--txt, #d1d4dc); }
.mqt-co-name { font-size:11px; color:var(--txt2, #787b86); margin-top:1px; }
.mqt-price-block { margin-left:8px; display:flex; align-items:center; gap:6px; }
.mqt-last-price { font-size:18px; font-weight:700; color:var(--txt, #d1d4dc); font-variant-numeric:tabular-nums; }
.mqt-chg-badge { padding:2px 7px; border-radius:12px; font-size:12px; font-weight:600; }
.mqt-chg-badge.up { background:rgba(8,153,129,.15); color:#089981; }
.mqt-chg-badge.dn { background:rgba(242,54,69,.15); color:#f23645; }
.mqt-hl-block { font-size:12px; color:var(--txt2, #787b86); display:flex; align-items:center; }
.mqt-hl-label { color:var(--txt2, #787b86); margin-right:3px; margin-left:8px; }
.mqt-tf-row { display:flex; gap:3px; flex-shrink:0; }
.mqt-tf { background:transparent; border:none; color:var(--txt2, #787b86); padding:5px 9px; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; transition:all .15s; }
.mqt-tf:hover { background:var(--bg3, #2a2e39); color:var(--txt, #d1d4dc); }
.mqt-tf-active { background:#2962ff!important; color:#fff!important; }
.mqt-topbar-right { display:flex; gap:6px; margin-left:auto; }
.mqt-icon-btn { display:flex; align-items:center; gap:5px; background:var(--bg3, #2a2e39); border:none; color:var(--txt, #d1d4dc); padding:6px 11px; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; transition:all .15s; }
.mqt-icon-btn:hover { background:#2962ff; color:#fff; }
.mqt-toolbar { display:flex; align-items:center; gap:8px; padding:7px 14px; background:var(--bg2, #1e222d); border-bottom:1px solid var(--brd, #2a2e39); }
.mqt-ct-group, .mqt-draw-group { display:flex; gap:3px; }
.mqt-ct, .mqt-dt { background:transparent; border:1px solid transparent; color:var(--txt2, #787b86); padding:4px 7px; border-radius:4px; font-size:11px; font-weight:600; cursor:pointer; display:flex; align-items:center; gap:3px; transition:all .15s; }
.mqt-ct:hover, .mqt-dt:hover { background:var(--bg3, #2a2e39); color:var(--txt, #d1d4dc); }
.mqt-ct-active { background:var(--bg3, #2a2e39)!important; color:var(--txt, #d1d4dc)!important; border-color:var(--brd, #2a2e39)!important; }
.mqt-dt-active { background:#2962ff!important; color:#fff!important; }
.mqt-dt-trash:hover { background:rgba(242,54,69,.15)!important; color:#f23645!important; }
.mqt-divider-v { width:1px; height:22px; background:var(--brd, #2a2e39); margin:0 4px; }
.mqt-legend-inline { display:flex; gap:12px; font-size:12px; color:var(--txt2, #787b86); flex-wrap:wrap; }
.mqt-leg-item { display:flex; align-items:center; gap:4px; }
.mqt-leg-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.mqt-ind-modal { display:none; position:relative; background:var(--bg2, #1e222d); border-bottom:1px solid var(--brd, #2a2e39); max-height:320px; overflow:hidden; flex-direction:column; }
.mqt-ind-modal.open { display:flex; }
.mqt-ind-modal-hdr { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--brd, #2a2e39); }
.mqt-ind-modal-hdr>span { font-weight:700; font-size:14px; margin-right:auto; color:var(--txt, #d1d4dc); }
.mqt-ind-search { background:var(--bg, #131722); border:1px solid var(--brd, #2a2e39); color:var(--txt, #d1d4dc); padding:5px 10px; border-radius:4px; font-size:12px; width:200px; outline:none; }
.mqt-ind-close { background:transparent; border:none; color:var(--txt2, #787b86); font-size:16px; cursor:pointer; padding:4px 6px; border-radius:4px; }
.mqt-ind-modal-body { display:flex; flex:1; overflow:hidden; }
.mqt-ind-cats { display:flex; flex-direction:column; gap:1px; padding:8px 4px; background:var(--bg, #131722); border-right:1px solid var(--brd, #2a2e39); min-width:130px; }
.mqt-icat { background:transparent; border:none; color:var(--txt2, #787b86); padding:7px 10px; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; text-align:left; transition:all .15s; }
.mqt-icat:hover { background:var(--bg3, #2a2e39); color:var(--txt, #d1d4dc); }
.mqt-icat-active { background:#2962ff!important; color:#fff!important; }
.mqt-ind-section { flex:1; overflow-y:auto; padding:10px; }
.mqt-toggle-lbl { display:flex; align-items:center; cursor:pointer; flex-shrink:0; }
.mqt-toggle-lbl input { display:none; }
.mqt-toggle-track { width:30px; height:16px; border-radius:8px; background:var(--bg3, #2a2e39); position:relative; transition:background .2s; }
.mqt-toggle-track::after { content:''; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:#fff; transition:transform .2s; }
.mqt-toggle-lbl input:checked + .mqt-toggle-track { background:#2962ff; }
.mqt-toggle-lbl input:checked + .mqt-toggle-track::after { transform:translateX(14px); }
.mqt-ma-row { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--brd, #2a2e39); }
.mqt-ma-num { font-size:12px; color:var(--txt2, #787b86); min-width:35px; }
.mqt-ind-row { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.mqt-ind-row.hidden { display:none; }
.mqt-ind-row-name { flex:1; font-size:12px; font-weight:600; color:var(--txt, #d1d4dc); }
.mqt-ind-params { display:flex; gap:5px; }
.mqt-sel, .mqt-sel-xs { background:var(--bg, #131722); border:1px solid var(--brd, #2a2e39); color:var(--txt, #d1d4dc); border-radius:4px; padding:3px 6px; font-size:12px; outline:none; }
.mqt-num-in, .mqt-num-xs { background:var(--bg, #131722); border:1px solid var(--brd, #2a2e39); color:var(--txt, #d1d4dc); border-radius:4px; padding:3px 6px; font-size:12px; width:52px; text-align:center; outline:none; }
.mqt-ind-modal-ftr { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:8px 14px; border-top:1px solid var(--brd, #2a2e39); background:var(--bg2, #1e222d); }
.mqt-ind-hint { font-size:11px; color:var(--txt2, #787b86); }
.mqt-btn-apply { background:#2962ff; border:none; color:#fff; padding:7px 18px; border-radius:4px; font-size:13px; font-weight:700; cursor:pointer; }
.mqt-loader { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--bg, #131722); z-index:20; gap:12px; font-size:13px; color:var(--txt2, #787b86); }
.mqt-spin { width:28px; height:28px; border:2px solid var(--bg3, #2a2e39); border-top-color:#2962ff; border-radius:50%; animation:mqspin 1s linear infinite; }
@keyframes mqspin { to { transform:rotate(360deg); } }
.mqt-lower-label { padding:4px 10px; font-size:11px; font-weight:700; color:var(--txt2, #787b86); background:var(--bg2, #1e222d); border-top:1px solid var(--brd, #2a2e39); display:flex; align-items:center; gap:10px; }
.mqt-lower-label .mqt-lo-leg { font-size:11px; color:var(--txt2, #787b86); }
.mqt-error { padding:20px; color:#f23645; background:var(--bg2, #1e222d); border-radius:8px; }

/* ==========================================
   2. SUMMARY CHARTS (ApexCharts)
========================================== */
.mq-container { width:100%; margin:20px auto; padding:20px; background:#f9f9f9; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.1); box-sizing:border-box; }
.mq-container .mq-header { color:#0073aa; margin-bottom:20px; font-size:22px; font-weight:bold; border:none; padding:0; background:transparent;}
.mq-layout { display:flex; flex-direction:column; gap:20px; } 
.mq-chart-col { width:100%; display:flex; flex-direction:column; }
.mq-chart-wrap { position:relative; background:#fff; border:1px solid #eee; border-radius:8px; padding:15px; min-height:450px; display:flex; flex-direction:column; width:100%; box-sizing:border-box; overflow:hidden; }
.mq-controls { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:10px; z-index:5; }
.mq-btn-group { display:flex; gap:5px; }
.mq-btn { padding:6px 12px; font-size:13px; cursor:pointer; border:1px solid #ccc; background:#f0f0f1; color:#333; border-radius:4px; font-weight:500; }
.mq-btn.active { background:#0073aa; color:#fff; border-color:#0073aa; }
.mq-chart-wrap:fullscreen { width:100vw; height:100vh; background:#fff; padding:20px; }
.mq-loader { display:none; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); color:#666; font-size:16px; font-weight:bold; }
.mq-apex-chart { width:100%; height:100%; flex-grow:1; min-height:350px; }
.mq-grid { width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:15px; align-content:start; }
.mq-box { background:#fff; padding:12px; border-radius:8px; box-shadow:0 1px 3px rgba(0,0,0,0.1); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border:1px solid #eee; }
.mq-box-summary { background:#e6ffff; padding:12px; border-radius:8px; box-shadow:0 1px 3px rgba(0,0,0,0.1); display:flex; flex-direction:column; justify-content:center; text-align:left; border:1px solid #eee; }
.mq-price-box { grid-column:span 2; flex-direction:row; align-items:center; justify-content:space-around; }
.mq-green { color:#28a745; } .mq-red { color:#dc3545; }
.mq-arrow { font-size:24px; } .mq-main-price { font-size:24px; font-weight:bold; }
.mq-label { font-size:11px; color:#666; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; }
.mq-val { font-size:15px; font-weight:bold; color:#333; }
.mq-sub-date { font-size:11px; color:#888; margin-top:2px; }
.mq-range-sel { margin-top:15px; display:flex; flex-wrap:wrap; gap:5px; justify-content:center; }
.mq-range-btn { padding:6px 10px; cursor:pointer; border:1px solid #0073aa; background:#fff; color:#0073aa; border-radius:4px; font-size:12px; font-weight:500; flex:1 1 auto; text-align:center; }
.mq-range-btn.active { background:#0073aa; color:#fff; }

/* ==========================================
   3. HISTORICAL DATA TABLE
========================================== */
.mh-pro-wrapper { margin:25px 0; color:#1a1a1a; }
.mh-toolbar { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:20px; border-bottom:2px solid #f0f0f0; padding-bottom:15px; flex-wrap:wrap; gap:15px; }
.mh-toolbar-left { width:auto; max-width:100%; }
.mh-range-nav-wrapper { overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:5px; }
.mh-range-nav { display:flex; gap:8px; white-space:nowrap; }
.mh-tab-btn { background:#fff; border:1px solid #ddd; padding:8px 16px; cursor:pointer; font-weight:600; color:#555; border-radius:6px; transition:0.2s; font-size:13px; }
.mh-tab-btn.active { background:#0073aa; color:#fff; border-color:#0073aa; }
.mh-status-bar { font-size:13px; color:#666; text-align:right; flex-grow:1; }
.mh-reset-btn { background:#ff3b30; color:#fff; border:none; padding:4px 10px; border-radius:4px; cursor:pointer; margin-left:10px; font-size:11px; font-weight:700; text-transform:uppercase; }
.mh-card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:15px; margin-bottom:30px; }
.mh-stat-card { background:#fff; border:1px solid #e1e4e8; padding:18px; border-radius:12px; box-shadow:0 2px 4px rgba(0,0,0,0.02); text-align:center; transition:0.3s; }
.mh-stat-card:hover { transform:translateY(-3px); box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.mh-stat-label { display:block; font-size:11px; color:#888; font-weight:700; text-transform:uppercase; margin-bottom:10px; }
.mh-stat-val { font-size:16px; font-weight:800; display:block; }
.mh-stat-pct { font-size:12px; font-weight:600; margin-top:6px; display:inline-block; padding:2px 10px; border-radius:20px; }
.mh-up { color:#00c805; } .mh-up-bg { background:#e6ffed; color:#00c805; }
.mh-down { color:#ff3b30; } .mh-down-bg { background:#fff0f0; color:#ff3b30; }
.mh-table-container { background:#fff; border:1px solid #e1e4e8; border-radius:12px; overflow-x:auto; -webkit-overflow-scrolling:touch; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.mh-main-table { width:100%; border-collapse:collapse; font-size:14px; min-width:650px; }
.mh-main-table th { background:#f8f9fa; padding:15px; text-align:left; font-weight:700; border-bottom:2px solid #eee; cursor:pointer; white-space:nowrap; }
.mh-main-table td { padding:15px; border-bottom:1px solid #f6f8fa; white-space:nowrap; }
.mh-sort-icon::after { content:' ↕'; font-size:10px; color:#bbb; margin-left:5px; }
.mh-sort-icon.asc::after { content:' ↑'; color:#0073aa; }
.mh-sort-icon.desc::after { content:' ↓'; color:#0073aa; }
.mh-skeleton-loader { padding:40px; text-align:center; color:#999; }

/* ==========================================
   4. PERFORMANCE TRACKER
========================================== */
.mq-wrap{max-width:100%;margin:0 auto;color:#1e293b;line-height:1.5;}

    /* ── Header ── */
    .mq-header{display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#fff;padding:26px 30px;border-radius:14px;margin-bottom:14px;flex-wrap:wrap;gap:16px;}
    .mq-co-name{margin:0 0 10px;font-size:24px;font-weight:900;color:#fff;letter-spacing:-.3px;}
    .mq-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
    .mq-bdg{background:#334155;color:#94a3b8;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700;}
    .mq-bdg-ex{background:#1d4ed8;color:#bfdbfe;}
    .mq-bdg-sm{font-size:11px;background:#374151;color:#9ca3af;}
    .mq-sublabel{font-size:13px;color:#94a3b8;}
    .mq-header-r{text-align:right;}
    .mq-price-lbl{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
    .mq-price{font-size:36px;font-weight:900;color:#fff;line-height:1;}
    .mq-price-chg{font-size:13px;font-weight:700;margin-top:6px;}

    /* ── Quick stats ── */
    .mq-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px;}
    .mq-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;}
    .mq-stat-l{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
    .mq-stat-v{font-size:22px;font-weight:900;color:#1e293b;}
    .mq-stat-d{font-size:12px;color:#64748b;margin-top:4px;}

    /* ── Sections ── */
    .mq-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:22px 26px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
    .mq-sec-title{margin:0 0 8px;font-size:18px;font-weight:800;color:#0f172a;border-bottom:2px solid #f1f5f9;padding-bottom:12px;}
    .mq-sec-desc{font-size:13px;color:#64748b;margin:0 0 18px;line-height:1.7;}

    /* ── IPO Lot ── */
    .mq-lot-row{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
    .mq-lot-box{flex:1;min-width:200px;padding:20px;border:2px solid #e2e8f0;border-radius:12px;text-align:center;background:#f8fafc;}
    .mq-lot-arr{font-size:32px;flex-shrink:0;}
    .mq-lot-lbl{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;}
    .mq-lot-val{font-size:30px;font-weight:900;color:#0f172a;margin-bottom:6px;}
    .mq-lot-sub{font-size:12px;color:#64748b;}

    /* ── Breakdown table ── */
    .mq-breakdown{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin-bottom:18px;}
    .mq-bd-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px;}
    .mq-bd-table th{background:#f1f5f9;padding:8px 10px;text-align:left;font-weight:700;color:#475569;}
    .mq-bd-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;}
    .mq-bd-table tfoot td{border-top:2px solid #e2e8f0;border-bottom:none;}

    /* ── Log ── */
    .mq-log-wrap{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:0 10px 10px 0;padding:14px 16px;}
    .mq-log-title{margin:0 0 10px;font-size:13px;font-weight:700;color:#334155;}
    .mq-perf-log{list-style:none;padding:0;margin:0;}
    .mq-perf-log li{margin-bottom:5px;font-size:13px;}

    /* ── Custom calculator ── */
    .mq-calc-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:18px 22px;margin-bottom:18px;}
    .mq-btn-calc{background:#2563eb;color:#fff;border:none;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;vertical-align:middle;}
    .mq-btn-calc:hover{background:#1d4ed8;}

    /* ── Scenario container ── */
    .mq-scenario{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;margin-bottom:14px;}
    .mq-sc-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:800;color:#0f172a;margin-bottom:14px;}
    .mq-sc-sub{font-size:12px;font-weight:400;color:#64748b;}

    /* ── Investment cards grid ── */
    .mq-inv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;}
    .mq-inv-card{border:1px solid #e2e8f0;border-radius:12px;padding:14px;text-align:center;}
    .mq-inv-tag{font-size:12px;font-weight:700;color:#475569;margin-bottom:6px;}
    .mq-inv-arrow{font-size:22px;margin:4px 0;}
    .mq-inv-result{font-size:22px;font-weight:900;margin-bottom:2px;}
    .mq-inv-abs{font-size:12px;font-weight:700;}
    .mq-inv-pct{font-size:12px;font-weight:700;margin-bottom:4px;}
    .mq-inv-cagr{font-size:11px;color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 8px;display:inline-block;margin-top:4px;}

    /* ── Toggle steps button ── */
    .mq-btn-steps{background:#fff;color:#475569;border:1px solid #cbd5e1;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;margin-top:8px;}
    .mq-btn-steps:hover{background:#f1f5f9;}

    /* ── Market cap meta ── */
    .mq-mcap-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#475569;background:#f8fafc;padding:12px 16px;border-radius:8px;margin-bottom:16px;border:1px solid #e2e8f0;}

    /* ── Timeline ── */
    .mq-timeline{display:flex;flex-direction:column;gap:8px;}
    .mq-tl-item{border-left:4px solid #3b82f6;padding:10px 16px;border-radius:0 8px 8px 0;}
    .mq-tl-date{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;}
    .mq-tl-ev{font-size:14px;font-weight:800;margin-bottom:3px;}
    .mq-tl-imp{font-size:12px;color:#64748b;}

    /* ── Responsive ── */
    @media(max-width:640px){
        .mq-header{flex-direction:column;}
        .mq-header-r{text-align:left;}
        .mq-lot-row{flex-direction:column;}
        .mq-lot-arr{transform:rotate(90deg);}
        .mq-price{font-size:28px;}
    }


/* ==========================================
   5. RESPONSIVE QUERIES
========================================== */
@media (max-width: 768px) {
    .mq-price-box { grid-column:span 1; flex-direction:column; gap:5px; }
    .mq-chart-wrap { min-height:350px; }
    .mqt-topbar { gap:8px; }
    .mqt-hl-block, .mqt-co-name { display:none; }
    .mqt-tf-row { flex-wrap:wrap; }
    .mqt-topbar-right { gap:4px; }
    .mh-toolbar { flex-direction:column; align-items:flex-start; }
    .mh-status-bar { text-align:left; margin-top:-5px; }
    .mh-card-grid { grid-template-columns:repeat(2, 1fr); }
    .mh-stat-card { padding:12px; }
    .mh-stat-val { font-size:14px; }
}



 .mq-tech-wrapper { background:#fff; border:1px solid #e1e4e8; border-radius:10px; padding:20px; max-width:100%; margin:20px auto; }
        .mq-tech-header { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:4px solid #e68a00; padding-bottom:15px; margin-bottom:15px; flex-wrap:wrap; gap:15px; }
        .mq-sym-title { margin:0; font-size:20px; color:#333; font-weight:700; }
        .mq-big-price { font-size:24px; font-weight:800; color:#333; }
        .mq-price-chg { font-size:14px; font-weight:600; margin-left:10px; }
        .mq-tf-list { display:flex; gap:5px; overflow-x:auto; padding-bottom:5px; }
        .mq-tf-btn { border:1px solid #ddd; background:#f8f9fa; font-size:12px; font-weight:600; color:#555; cursor:pointer; padding:6px 12px; border-radius:4px; transition:0.2s; white-space:nowrap; }
        .mq-tf-btn.active { background:#0073aa; color:#fff; border-color:#0073aa; }
        .mq-nav-tabs { display:flex; border-bottom:4px solid #248f24; margin-bottom:20px; gap:25px; }
        .mq-nav-btn { background:none; border:none; border-bottom:2px solid transparent; padding:10px 5px; font-weight:700; color:#666; cursor:pointer; font-size:14px; text-transform:uppercase; transition:0.2s; }
        .mq-nav-btn:hover { color:#0073aa; }
        .mq-nav-btn.active { border-color:#0073aa; color:#000000; }
        .mq-visual-row { display:flex; gap:20px; margin-bottom:25px; flex-wrap:wrap; }
        .mq-chart-card { flex:2; min-width:320px; border:1px solid #eee; border-radius:8px; padding:15px; background:#fff; }
       
        .mq-grid-tables { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr)); gap:20px; margin-bottom:20px; }
        .mq-table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; display: block; }
        .mq-table-card { border:1px solid #eee; border-radius:8px; overflow:hidden; background:#fff; }
        .mq-card-title { margin:0; padding:12px 15px; background:#f8f9fa; border-bottom:1px solid #eee; font-size:14px; font-weight:700; color:#444; text-transform:uppercase; }
        .mq-data-table, .mq-pivot-table { width:100%; border-collapse:collapse; font-size:13px; }
        .mq-data-table th, .mq-pivot-table th { background:#fcfcfc; color:#666; font-weight:600; padding:8px 12px; text-align:left; border-bottom:1px solid #eee; }
        .mq-data-table td, .mq-pivot-table td { padding:8px 12px; border-bottom:1px solid #f6f6f6; color:#333; }
        .mq-data-table td:nth-child(2), .mq-data-table td:nth-child(3) { text-align:right; }
        .mq-pivot-table td, .mq-pivot-table th { text-align:center; }
        .mq-pivot-table tr:nth-child(odd) { background:#fafafa; }
        .mq-badge { padding:4px 10px; border-radius:16px; font-size:11px; font-weight:700; color:#fff; display:inline-block; }
        .b-bull { background:#28a745; } .b-bear { background:#dc3545; } .b-neu { background:#888; color:#fff !important; }
        .mq-summary-card { background:#e8f4fa; border-left:4px solid #0073aa; padding:15px; border-radius:4px; margin-bottom:20px; }
        .mq-summary-text { font-size:14px; line-height:1.5; color:#444; }
        .mq-swot-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:15px; padding:15px; }
        .mq-swot-box { padding:15px; border-radius:6px; border:1px solid #eee; background:#fafafa; }
        .mq-swot-box h5 { margin:0 0 10px 0; font-size:13px; font-weight:800; }
        .mq-swot-box ul { margin:0; padding-left:15px; font-size:12px; color:#555; line-height:1.4; }
        .swot-s { border-top:3px solid #28a745; } .swot-s h5 { color:#28a745; }
        .swot-w { border-top:3px solid #dc3545; } .swot-w h5 { color:#dc3545; }
        .swot-o { border-top:3px solid #0073aa; } .swot-o h5 { color:#0073aa; }
        .swot-t { border-top:3px solid #ff9800; } .swot-t h5 { color:#ff9800; }

        /* ================= NEW OSCILLATORS CSS GRID ================= */
        .mq-osc-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px; }
        .mq-osc-card { border: 1px solid #e1e4e8; border-radius: 6px; padding: 2px; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.02); display: flex; flex-direction: column; }
        .mq-osc-card-title { font-size: 13px; color: #000000; font-weight: 600; margin-bottom: 8px; }
        .mq-osc-card-val { font-size: 28px; font-weight: 700; margin-bottom: 15px; line-height: 1; }
        .mq-osc-card-opinion { font-size: 13px; line-height: 1.5; padding: 5px; border-radius: 6px; color: #000000; flex-grow: 1; }
        .mq-osc-bg-neu { background: #f8f9fa; border-left: 3px solid #cbd5e1; }
        .mq-osc-bg-bull { background: #f0fdf4; border-left: 3px solid #22c55e; } 
        .mq-osc-bg-bear { background: #fef2f2; border-left: 3px solid #ef4444; } 

        /* ================= NEW MOVING AVERAGES UI CSS ================= */
        .mq-ma-ui-wrap { padding: 10px; }
        .mq-ma-header-text { background: #f4faf6; color: #111; padding: 12px 15px; border-radius: 6px; font-size: 14px; font-weight: 500; margin-bottom: 15px; }
        .mq-ma-container { display: flex; flex-wrap: wrap; padding: 15px 5px; }
        .mq-ma-left { flex: 1 1 250px; padding-right: 30px; border-right: 1px solid #f0f0f0; margin-bottom: 20px; }
        .mq-ma-right { flex: 2 1 350px; padding-left: 30px; }
        .mq-ma-price { font-size: 36px; font-weight: 700; text-align: center; color: #333; line-height: 1.1; }
        .mq-ma-price-label { font-size: 12px; color: #666; text-align: center; margin-bottom: 25px; text-transform: uppercase; letter-spacing: 0.5px; }
        .mq-gauge-wrap { position: relative; display: flex; justify-content: space-between; height: 32px; margin-bottom: 30px; }
        .mq-gauge-bar { width: 4px; border-radius: 2px; height: 100%; }
        .mq-gauge-pointer { position: absolute; top: -5px; bottom: -5px; width: 2px; background: #333; transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1); z-index: 2; }
        .mq-gauge-pointer::after { content: ''; position: absolute; bottom: -6px; left: -3px; width: 6px; height: 6px; border: 2px solid #333; border-radius: 50%; background: #fff; }
        .mq-ma-counts { display: flex; flex-direction: column; gap: 12px; }
        .mq-ma-count-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #333; }
        .mq-count-dot { width: 14px; height: 14px; border-radius: 3px; display: inline-block; margin-right: 8px; vertical-align: middle; }
        .mq-dot-bull { background: #28a745; }
        .mq-dot-bear { background: #ff4d4d; }
        .mq-ma-toggle-wrap { display: flex; justify-content: flex-end; margin-bottom: 25px; }
        .mq-ma-toggle { display: inline-flex; background: #f1f3f5; border-radius: 20px; padding: 4px; }
        .mq-ma-toggle button { border: none; background: transparent; padding: 6px 20px; border-radius: 16px; font-size: 12px; font-weight: 700; cursor: pointer; color: #888; transition: all 0.2s ease; }
        .mq-ma-toggle button.active { background: #007bff; color: #fff; box-shadow: 0 2px 4px rgba(0,123,255,0.2); }
        .mq-ma-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; }
        .mq-ma-item { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #f8f9fa; font-size: 14px; font-weight: 500; color: #333; }
        .mq-ma-item span:first-child { color: #111; }
        .mq-ma-val.bullish { color: #28a745; }
        .mq-ma-val.bearish { color: #dc3545; }

        /* ================= NEW PERFORMANCE CSS ================= */
        .mq-perf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; padding: 15px; background: #fff; }
        .mq-perf-card { border: 1px solid #f0f0f0; border-radius: 6px; padding: 15px 10px; text-align: center; background: #fff; transition: transform 0.2s, box-shadow 0.2s; }
        .mq-perf-card:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.05); }
        .mq-perf-lbl { font-size: 11px; color: #888; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; letter-spacing: 0.5px; }
        .mq-perf-pct { font-size: 18px; font-weight: 800; margin-bottom: 2px; }
        .mq-perf-stat { font-size: 10px; font-weight: 700; margin-bottom: 8px; text-transform: uppercase; }
        .mq-perf-val { font-size: 12px; font-weight: 700; color: #444; margin-bottom: 3px; }
        .mq-perf-from { font-size: 11px; color: #999; font-weight: 500; }
        .mq-perf-card.pos { border-top: 3px solid #28a745; }
        .mq-perf-card.pos .mq-perf-pct, .mq-perf-card.pos .mq-perf-stat { color: #28a745; }
        .mq-perf-card.neg { border-top: 3px solid #dc3545; }
        .mq-perf-card.neg .mq-perf-pct, .mq-perf-card.neg .mq-perf-stat { color: #dc3545; }
        .mq-perf-card.neu { border-top: 3px solid #ffc107; background: #fafafa; }
        .mq-perf-card.neu .mq-perf-pct { color: #666; font-size:16px; }

        /* RAW TABLE CSS */
        .mq-raw-data-section { background: #fff; padding: 0; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); margin-top: 30px; overflow:hidden;}
        .mq-raw-header-bar { background: #0073aa; color: white; padding: 12px 20px; font-weight: 700; font-size: 16px; text-align: center; }
        .mq-range-controls { padding: 15px; display: flex; gap: 10px; flex-wrap: wrap; background: #f8f9fa; border-bottom: 1px solid #ddd; justify-content: flex-end; }
        .mq-range-btn { padding: 4px 10px; border: 1px solid #ccc; background: #fff; cursor: pointer; border-radius: 3px; font-size: 12px; font-weight:600; transition: all 0.2s; }
        .mq-range-btn.active { background: #0073aa; color: white; border-color: #0073aa; }
        .mq-raw-table { width: 100%; border-collapse: collapse; font-size: 13px; }
        .mq-raw-table th { background: #f8f9fa; font-weight: 700; color: #333; padding: 12px 8px; border-bottom: 2px solid #ddd; cursor: pointer; user-select: none; white-space: nowrap; }
        .mq-raw-table th:hover { background: #e2e6ea; }
        .mq-raw-table td { padding: 10px 8px; border-bottom: 1px solid #eee; text-align: center; white-space: nowrap; }
        .mq-raw-table th:first-child, .mq-raw-table td:first-child { text-align: left; position: sticky; left: 0; background: inherit; z-index: 2; border-right: 1px solid #ddd; font-weight: 600; }
        .mq-raw-table th:first-child { background: #f8f9fa; z-index: 3;}
        .mq-raw-table tbody tr:nth-child(even) td { background-color: #fafafa; }
        .mq-raw-table tbody tr:nth-child(odd) td { background-color: #ffffff; }
        .mq-raw-table tbody tr:hover td { background-color: #f1f5f9; }
        .sort-icon::after { content: " ↕"; font-size: 10px; color: #999; margin-left: 4px; }
        .sort-icon.asc::after { content: " ↑"; color: #0073aa; }
        .sort-icon.desc::after { content: " ↓"; color: #0073aa; }
        .mq-ma-col { border-right: 2px solid #ddd; }
        
        @media (max-width: 768px) {
            .mq-tech-wrapper { padding: 12px; margin: 10px auto; border-radius: 6px; box-sizing: border-box; }
            .mq-grid-tables { display: flex; flex-direction: column; }
            .mq-sym-title { font-size: 18px; }
            .mq-big-price { font-size: 20px; }
            .mq-data-table th, .mq-data-table td, .mq-pivot-table th, .mq-pivot-table td { font-size: 12px; padding: 8px 6px; }
            .mq-swot-grid { grid-template-columns: 1fr; }
            .mq-tf-list, .mq-nav-tabs { max-width: 100%; -webkit-overflow-scrolling: touch; }
            .mq-ma-left { padding-right: 0; border-right: none; border-bottom: 1px solid #eee; padding-bottom: 25px; }
            .mq-ma-right { padding-left: 0; padding-top: 15px; }
            .mq-ma-grid { grid-template-columns: 1fr; gap: 5px; }
        }



<style>
        .mq-adv-terminal { display: flex; flex-direction: column; border: 1px solid #e2e8f0; background: #fff; margin: 20px auto; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); }
        
        .mq-adv-header-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; background: #fff; border-bottom: 1px solid #e2e8f0; padding: 12px 20px; gap: 15px; }
        .mq-adv-title h2 { margin: 0; font-size: 20px; color: #0f172a; font-weight: 700; display: flex; align-items: center; gap: 10px; }
        .mq-adv-title span { font-size: 13px; color: #64748b; font-weight: 500; }
        
        .mq-adv-tabs { display: flex; gap: 8px; overflow-x: auto; flex-grow: 1; justify-content: center; }
        .mq-tab-btn { background: #f1f5f9; border: 1px solid transparent; padding: 8px 16px; border-radius: 20px; font-size: 13px; font-weight: 600; color: #475569; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; }
        .mq-tab-btn:hover { background: #e2e8f0; color: #0f172a; }
        .mq-tab-btn.active { background: #0ea5e9; color: #fff; box-shadow: 0 2px 6px rgba(14, 165, 233, 0.3); }
        
        .mq-adv-update-btn { background: #10b981; color: #fff; border: none; padding: 9px 20px; border-radius: 20px; font-weight: 700; font-size: 13px; cursor: pointer; transition: 0.2s; box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3); white-space: nowrap; }
        .mq-adv-update-btn:hover { background: #059669; }

        .mq-adv-panels-container { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
        .mq-panel-content { display: none; gap: 15px; flex-wrap: wrap; padding: 15px 20px; align-items: center; justify-content: center; }
        .mq-panel-content.active { display: flex; }
        
        .mq-form-row { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #334155; }
        .mq-form-row.multi { background: #fff; padding: 6px 12px; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }
        .mq-form-row.spread { background: #fff; padding: 8px 12px; border: 1px solid #e2e8f0; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; }
        
        .mq-chk-label { font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 6px; margin: 0; color: #334155; }
        .mq-select { padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; background: #fff; color: #0f172a; font-weight: 500; cursor: pointer; outline: none; }
        .mq-select-small { padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 4px; font-size: 13px; background: #fff; color:#0f172a; }
        
        .mq-input-small { padding: 6px 8px !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; font-size: 13px !important; width: 65px !important; text-align: center !important; color: #0f172a !important; background: #fff !important; height: auto !important; line-height: normal !important; box-sizing: border-box !important; }
        .mq-in-xs { padding: 6px 8px !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; font-size: 13px !important; width: 55px !important; text-align: center !important; color: #0f172a !important; background: #fff !important; height: auto !important; line-height: normal !important; box-sizing: border-box !important; }
        .mq-param { font-size: 13px; color: #64748b; display: flex; align-items: center; gap: 6px; }

        .mq-adv-chart-area { padding: 15px; position: relative; background: #fff; min-height: 450px; }
        .mq-adv-loader { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255,255,255,0.9); z-index: 10; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: #0ea5e9; }
        .mq-spinner { border: 3px solid #f3f3f3; border-top: 3px solid #0ea5e9; border-radius: 50%; width: 30px; height: 30px; animation: mq-spin 1s linear infinite; margin-bottom: 12px; }
        @keyframes mq-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

        @media(max-width: 768px) {
            .mq-adv-header-bar { flex-direction: column; align-items: stretch; }
            .mq-adv-title { text-align: center; margin-bottom: 10px; }
            .mq-adv-title h2 { justify-content: center; }
            .mq-adv-tabs { justify-content: flex-start; padding-bottom: 5px; margin-bottom: 10px; }
            .mq-panel-content { justify-content: flex-start; }
            .mq-form-row.spread { width: 100%; justify-content: space-between; }
        }
    </style>
