// ───────────────────────────────────────────────────────────── // 주요 종목 현황 (MajorQuotesGrid) — 그룹 탭 + 데이터 그리드 + TradingView 드릴다운 모달 // 등락색 --price-up/down/flat(상승 적/하락 청). 기존 토큰만 사용(라이트·다크 양립). // ───────────────────────────────────────────────────────────── .major-quotes { margin-bottom: var(--sp-6); padding: var(--sp-4); background: var(--bg-elevated); border: 1px solid var(--border-default); border-radius: var(--radius); &__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3); margin-bottom: var(--sp-3); } &__title { font-size: var(--fs-lg); font-weight: 700; color: var(--text-primary); } &__asof { font-size: var(--fs-xs); color: var(--text-muted); font-variant-numeric: tabular-nums; } &__tabs { display: flex; flex-wrap: wrap; gap: var(--sp-2); border-bottom: 1px solid var(--border-default); margin-bottom: var(--sp-2); } &__tab { padding: var(--sp-3) var(--sp-4); background: transparent; border: none; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: var(--fs-sm); font-weight: 600; color: var(--text-muted); cursor: pointer; transition: color 0.12s ease, border-color 0.12s ease; &:hover { color: var(--text-secondary); } &.is-active { color: var(--text-primary); border-bottom-color: var(--text-link); } } &__grid-wrap { overflow-x: auto; } &__grid { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); font-variant-numeric: tabular-nums; th { padding: var(--sp-3); text-align: right; font-size: var(--fs-xs); font-weight: 600; color: var(--text-muted); border-bottom: 1px solid var(--border-default); white-space: nowrap; } td { padding: var(--sp-3); border-bottom: 1px solid var(--border-light); white-space: nowrap; } } &__row { transition: background 0.1s ease; &:hover { background: var(--bg-subtle-hover); } } &__c-name { text-align: left; font-weight: 600; color: var(--text-primary); } &__c-num { text-align: right; } &__c-time { text-align: right; font-size: var(--fs-xs); color: var(--text-muted); } &__c-chart { text-align: center; width: 1%; } &__c-close { color: var(--text-primary); font-weight: 600; } &__c-vol { color: var(--text-secondary); } &__c-up { color: var(--price-up); } &__c-down { color: var(--price-down); } &__c-flat { color: var(--price-flat); } &__chart-btn { display: inline-flex; align-items: center; justify-content: center; padding: var(--sp-2); background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius); color: var(--text-muted); cursor: pointer; transition: color 0.12s ease, border-color 0.12s ease; &:hover { color: var(--text-link); border-color: var(--text-link); } } &__chart-na { color: var(--text-muted); } // 차트 모달 (TradingView) &__modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: var(--sp-5); background: rgba(0, 0, 0, 0.55); } &__modal-panel { display: flex; flex-direction: column; width: min(960px, 96vw); height: min(620px, 88vh); background: var(--bg-page); border: 1px solid var(--border-strong); border-radius: var(--radius); overflow: hidden; } &__modal-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--border-default); } &__modal-title { font-size: var(--fs-base); font-weight: 700; color: var(--text-primary); } &__modal-close { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: transparent; border: none; border-radius: var(--radius); font-size: var(--fs-2xl); line-height: 1; color: var(--text-muted); cursor: pointer; &:hover { color: var(--text-primary); background: var(--bg-subtle-hover); } } &__modal-body { flex: 1; min-height: 0; } &__modal-note { padding: var(--sp-2) var(--sp-4); font-size: var(--fs-2xs); color: var(--text-muted); text-align: right; } }