/* Asset-group dashboard, sharing the application light/dark tokens. */
.hero-bubble{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:16px}
.hero-bubble strong{display:block;color:var(--accent);font-size:22px;margin-top:8px}
.hero-bubble p,.hero-bubble small{font-size:12px;line-height:1.9;color:var(--muted);margin:6px 0}
.hero-bubble summary{cursor:pointer;font-size:12px}
.dashboard-inactive{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;background:var(--panel2);color:var(--muted)}
.dashboard-inactive h2{color:var(--text);font-size:18px;margin:0 0 10px}
.dashboard-inactive p{margin:0;line-height:1.9}
.price-chart{--chart-line:var(--primary);background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:16px 12px 4px;margin-top:14px;min-width:0;overflow:hidden}
.price-chart-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px}
.price-chart-header h3{margin:0 0 5px;font-size:16px;color:var(--text)}
.price-chart-header small{color:var(--muted);font-size:12px}
.price-chart-header select{width:auto;min-width:82px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:9px;font:inherit;font-size:12px}
.price-chart .asset-chart{height:auto;aspect-ratio:700/284;color:var(--chart-line);overflow:visible;margin-top:8px}
.price-chart .chart-grid{stroke:var(--line);stroke-width:1;opacity:.65}
.price-chart .chart-axis{fill:var(--muted);font-family:Vazirmatn,sans-serif;font-size:11px;direction:ltr;unicode-bidi:plaintext}
.price-chart .chart-price-line{stroke:var(--chart-line);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke}
.price-chart .chart-price-dot{fill:var(--panel);stroke:var(--chart-line);stroke-width:3}
.price-chart .chart-crosshair{stroke:var(--chart-line);stroke-dasharray:3 5;opacity:.35}
.price-chart .chart-tooltip{fill:var(--panel);stroke:var(--line);filter:drop-shadow(0 3px 4px var(--shadow))}
.price-chart .chart-tooltip-value{fill:var(--text);font-family:Vazirmatn,sans-serif;font-weight:700;font-size:14px;direction:ltr}
.price-chart .asset-chart-caption{margin:2px 5px 8px;font-size:11px}
@media(max-width:500px){.price-chart{padding:12px 4px 4px}.price-chart-header h3{font-size:14px}.price-chart-header small{font-size:10px}.price-chart .asset-chart{min-height:190px}}
.asset-dashboard .asset-groups {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.asset-group {display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:15px;min-width:0;text-decoration:none;color:var(--text)}
.asset-group:hover {border-color:var(--gold)}
.asset-group .group-icon {width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);background:var(--tab-active-bg);color:var(--gold);border-radius:10px;margin-bottom:10px;font-size:18px}
.asset-group h3 {font-size:15px;margin:0 0 6px}
.asset-group p {color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 10px}
.group-kpis {display:flex;gap:7px;flex-wrap:wrap}
.group-kpis span {font-size:11px;border:1px solid var(--line);border-radius:7px;padding:4px 6px;color:var(--text-soft)}
.asset-quotes {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));gap:14px}
.asset-summary,.bubble-layout {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.asset-dashboard .quote-card .value {font-size:22px;font-variant-numeric:tabular-nums}
.quote-card .unit,.quote-card .delta {font-size:12px;color:var(--muted);line-height:1.9}
.quote-card .delta.asset-up {color:var(--green)}
.quote-card .delta.asset-down {color:var(--red)}
.quote-card .mini {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.quote-card .mini b {color:var(--text);display:block;margin-top:4px}
.asset-dashboard .formula {background:var(--input-bg);border:1px dashed var(--line);border-radius:9px;padding:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.bubble-result {display:block;line-height:2;white-space:pre-line;font-variant-numeric:tabular-nums}
.asset-chart {display:block;width:100%;height:200px;direction:ltr;color:var(--gold)}
.asset-chart polyline {fill:none;stroke:currentColor;stroke-width:2.5;vector-effect:non-scaling-stroke}
.asset-chart circle {fill:currentColor}
.asset-chart-caption {font-size:12px;line-height:1.8;color:var(--muted)}
.asset-dashboard .toolbar select {min-width:0;max-width:100%}
@media(max-width:1250px){.asset-dashboard .asset-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.bubble-layout,.asset-summary{grid-template-columns:1fr}}
@media(max-width:760px){.asset-dashboard .asset-groups{grid-template-columns:1fr}.asset-dashboard .toolbar select{min-height:44px}}

/* ===== Three-level dashboard hub (matching rasteh-dashboard reference) ===== */
.primary-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.level-no{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--step-bg);flex:0 0 auto;font-size:12px}
.level-tab{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;text-align:right;padding:11px 14px}
.level-tab b{display:block;font-size:14px}
.level-tab small{display:block;color:var(--muted);font-size:10px;line-height:1.55;margin-top:4px}
.level-tab.active .level-no{background:var(--tab-active-bg);color:var(--gold)}
.dashboard-kicker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin-bottom:4px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--badge-success-bg);flex:0 0 auto}
.hero-card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}
.hero-head{display:grid;grid-template-columns:minmax(0,1fr) 374px minmax(160px,270px);align-items:start;gap:20px;margin-bottom:12px}
.hero-head>.btn{justify-self:end}
.hero-head .hero-bubble{display:block;width:100%;min-height:124px;margin:0;padding:10px 14px;box-sizing:border-box}
.hero-head .hero-bubble strong{font-size:20px;margin-top:4px}
.hero-head .hero-bubble p,.hero-head .hero-bubble small{font-size:11px;margin:3px 0}
.hero-head .hero-bubble summary{font-size:11px}
.hero-head .hero-bubble details{margin:0;padding:0;border:0;background:transparent}
.hero-head .hero-bubble summary{padding:2px 0;min-height:0;line-height:1.6}
@media(max-width:1250px){.hero-head{grid-template-columns:minmax(0,1fr) minmax(280px,374px)}.hero-head>.btn{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.hero-head{grid-template-columns:minmax(0,1fr)}.hero-head .hero-bubble{max-width:374px;justify-self:start}}
.hero-value{font-size:32px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:6px 0}
.hero-unit{font-size:13px;font-weight:500;color:var(--muted)}
.hero-sub{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted);font-size:11px}
.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mini-stat{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px;min-width:0}
.mini-stat small{display:block;color:var(--muted);font-size:10px}
.mini-stat b{display:block;font-size:18px;margin-top:7px;font-variant-numeric:tabular-nums;line-height:1.35}
.mini-stat em{display:block;font-style:normal;font-size:10px;margin-top:5px;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:stretch}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.section-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
.health-ring{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;margin:auto;position:relative}
.health-ring::after{content:'';position:absolute;inset:12px;border-radius:50%;background:var(--panel)}
.ring-label{position:relative;z-index:1;text-align:center;line-height:1.7}
.ring-label strong{display:block;font-size:24px}
.ring-label span{font-size:10px;color:var(--muted)}
.heat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.heat{border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--surface);color:var(--text);text-align:right;min-width:0}
.heat small{display:block;color:var(--muted);font-size:10px}
.heat b{display:block;margin-top:5px;font-variant-numeric:tabular-nums}
.heat.up{background:var(--badge-success-bg)}
.heat.down{background:var(--error-bg)}
.heat:disabled{cursor:not-allowed;opacity:.55}
.heat:not(:disabled):hover{border-color:var(--gold)}
.movers{display:grid;gap:8px}
.mover{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,auto) 84px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--row-line)}
.mover:last-child{border-bottom:0}
.mover b{font-variant-numeric:tabular-nums;text-align:left}
.breadth{display:flex;height:10px;border-radius:10px;overflow:hidden;background:var(--line)}
.breadth .up{background:var(--green)}
.breadth .down{background:var(--red)}
.metric-chip{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px}
.metric-chip small{display:block;color:var(--muted);font-size:10px}
.metric-chip b{display:block;margin-top:5px;font-variant-numeric:tabular-nums}
.activity{display:grid;gap:10px}
.activity-item{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start}
.activity-item i{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:6px}
.activity-item.warn i{background:var(--gold)}
.activity-item.bad i{background:var(--red)}
.activity-item small{color:var(--muted)}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.quick-actions .btn{text-align:center}
.market-table{width:100%;border-collapse:collapse}
.market-table th,.market-table td{padding:10px 8px;border-bottom:1px solid var(--row-line);text-align:right}
.market-table th{font-size:10px;color:var(--muted);font-weight:500}
.market-table td{font-variant-numeric:tabular-nums}
.badge.gray{background:var(--phase-bg);color:var(--text-soft)}
.green-t{color:var(--green)}
.red-t{color:var(--red)}
.gold-t{color:var(--gold)}
.soft-link{border:0;background:transparent;color:var(--blue);padding:4px 0;cursor:pointer;font:inherit}
.asset-dashboard .hero-card .asset-chart{width:100%;height:auto;aspect-ratio:700/284}
@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:auto}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.primary-levels{display:flex;overflow-x:auto;gap:7px;padding-bottom:3px;scrollbar-width:thin}.level-tab{flex:0 0 190px;min-width:190px;min-height:56px}.level-tab b{font-size:12px}.hero-value{font-size:26px}.heat-grid,.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mover{grid-template-columns:1fr auto}.mover b:last-child{text-align:left}}
@media(max-width:430px){.mini-grid,.heat-grid,.quick-actions{grid-template-columns:1fr}}

/* Month grid (Jalali-first calendar) + importance dots */
.month-grid td{vertical-align:top;width:14.2%;min-width:96px}
.month-grid .out-month{opacity:.45;background:var(--surface)}
.month-grid .is-today{outline:2px solid var(--green);outline-offset:-2px}
.month-day{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.month-day b{font-size:15px}
.month-grid .badge{margin-bottom:4px}
.importance-dots{color:var(--gold);letter-spacing:1px}

/* Comparison page (generic valid-price service) */
.compare-card{min-height:100%}
.compare-rows{margin-top:10px;border-top:1px solid var(--line);padding-top:9px;font-size:12px;color:var(--muted);line-height:2}
.compare-rows p{margin:0}
.orange-t{color:var(--gold)}
.compare-legend{display:flex;gap:10px;flex-wrap:wrap;padding:2px 4px 10px}
.compare-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft);border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--panel2)}
.compare-swatch{width:10px;height:10px;border-radius:50%;display:inline-block}
#compare-chart{--compare-b:var(--warning);--compare-c:#6366f1;--compare-d:#ec4899}
:root[data-theme="light"] #compare-chart{--compare-c:#4f46e5;--compare-d:#db2777}
#compare-chart .asset-chart{height:auto;aspect-ratio:700/284;overflow:visible;color:var(--chart-line)}
#compare-chart .chart-grid{stroke:var(--line);stroke-width:1;opacity:.65}
#compare-chart .chart-axis{fill:var(--muted);font-family:Vazirmatn,sans-serif;font-size:11px;direction:ltr;unicode-bidi:plaintext}
#compare-chart .chart-price-line{stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke}
#compare-chart .chart-crosshair{stroke:var(--chart-line);stroke-dasharray:3 5;opacity:.35}
#compare-chart .chart-tooltip{fill:var(--panel);stroke:var(--line);filter:drop-shadow(0 3px 4px var(--shadow))}
#compare-chart .chart-tooltip-value{fill:var(--text);font-family:Vazirmatn,sans-serif;font-weight:700;font-size:13px;direction:ltr}
#compare-chart .asset-chart-caption{margin:2px 5px 8px;font-size:11px}

/* خانه: نقشه گروه‌ها به لینک واقعی «نبض بازار» تبدیل شد */
a.heat{text-decoration:none;display:block}

/* Lightweight Charts toolbar and panes (compare / gold sellers) */
.lt-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:10px}
.lt-tool{display:flex;flex-direction:column;gap:3px}
.lt-tool small{color:var(--muted)}
.lt-pane{width:100%}
.lt-pane-title{margin:6px 0 2px}
.compare-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.compare-legend .compare-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--surface);cursor:pointer}
.compare-legend .compare-swatch{width:10px;height:10px;border-radius:50%;display:inline-block}
