input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,

input:-webkit-autofill:active {
    /* 브라우저의 기본 배경색을 덮어쓰기 위해 투명한 박스 섀도우를 크게 지정 */
    -webkit-box-shadow: none;
    /* 자동 완성 시 텍스트 색상 지정 */
    color: #fffffd !important;
    -webkit-text-fill-color: #fffffd !important;
    /* 배경색 변경 트랜지션 시간 설정으로 배경색 변화 지연 */
    transition: background-color 50000s ease-in-out 0s;
}

.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text {
    padding: .3125rem .30rem;
    font-size: .75rem;
    line-height: 1.6667;
    border-radius: .125rem
}

.text-shadow-dark {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 1) !important;
}
.post-container
{
    margin-top:80px;
}

.popup-contents
{
    display:flex !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 100% !important;
}

/* header market ticker (한 줄) */
.market-ticker-bar {
    font-size: 0.75rem;
    line-height: 1.2;
}
.market-ticker-track {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.25rem;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.market-ticker-item {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    flex: 0 0 auto;
}
.market-ticker-item .mt-label {
    color: rgba(255, 255, 255, 0.45);
}
.market-ticker-item .mt-exchange {
    text-transform: lowercase;
    opacity: 0.7;
}
.market-ticker-item .mt-value {
    font-weight: 600;
    color: #fff;
}
.market-ticker-item .mt-change {
    font-variant-numeric: tabular-nums;
}


.nav-sidebar .nav-item:not(.nav-item-header):first-child {
    padding-top: 0px !important;
}

/* greyuncle — layout_boxed dark tweaks */
.navbar .sidebar-mobile-main-toggle {
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
}

.navbar .dropdown-toggle {
    color: inherit;
}

.navbar .dropdown-toggle:hover,
.navbar .dropdown-toggle:focus {
    text-decoration: none;
    color: inherit;
}

.navbar-brand a {
    color: inherit;
}

.navbar-brand a:hover {
    text-decoration: none;
    opacity: 0.9;
}

.nav-sidebar .badge {
    font-weight: 400;
    opacity: 0.65;
}


.nav-sidebar>.nav-item>.nav-link.active {
    background-color: #03a9f4 !important;
    color: #fff !important;
}

.nav-sidebar .nav-item-open>.nav-link:not(.disabled),
.nav-sidebar>.nav-item-expanded:not(.nav-item-open)>.nav-link {
    background-color: rgba(255, 255, 255, .1);
    color: #fff;
}

.coin-icon {
    width: 18px;
    height: 18px;
    vertical-align: -2px;
}

#chart-symbol-icon.coin-icon {
    width: 22px;
    height: 22px;
    vertical-align: middle;
    margin-top:2px;
}

/* market live chart */
.chart-ohlc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    font-size: 0.8125rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.15);
}

.chart-ohlc .ohlc-item em {
    font-style: normal;
    color: #868e96;
    margin-right: 0.25rem;
}

.chart-ohlc .ohlc-item b {
    font-weight: 600;
}

.chart-ohlc .ohlc-item.up b { color: #ef5350; }
.chart-ohlc .ohlc-item.down b { color: #42a5f5; }

.market-chart {
    width: 100%;
    height: 420px;
}

.scalein-chart-help {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75rem;
}

.scalein-high-dot,
.scalein-low-dot {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    margin-right: 0.2rem;
    border-radius: 50%;
}

.scalein-high-dot { background: #ef5350; }
.scalein-low-dot { background: #42a5f5; }

#scalein-chart.scalein-chart-draggable { cursor: ns-resize; }
#scalein-chart.scalein-chart-dragging { cursor: ns-resize; touch-action: none; }

.scalein-line-tooltip {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    background: rgba(0, 0, 0, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.35);
}

/* scale-in simulator */
.scalein-live-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 0.25rem;
    background: rgba(3, 169, 244, 0.08);
}

.scalein-live-price strong {
    display: block;
    margin-top: 0.1rem;
    font-size: 1.25rem;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.scalein-select2-coin {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.scalein-select2-coin img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.scalein-select2-coin strong {
    color: inherit;
}

.scalein-select2-coin .text-muted {
    font-size: 0.8125rem;
}

#scalein-chart-period.active #scalein-chart-period-label,
#scalein-chart-period.active #scalein-chart-period-toggle,
#chart-period.active #chart-period-label,
#chart-period.active #chart-period-toggle {
    color: #fff;
    border-color: #03a9f4;
    background-color: #03a9f4;
}

#scalein-chart-interval .btn.active,
#scalein-chart-period .dropdown-item.active,
#scalein-chart-period .dropdown-item:active,
.scalein-quote .btn.active,
.scalein-quote .btn.btn-primary,
#chart-interval .btn.active,
#chart-period .dropdown-item.active,
#chart-period .dropdown-item:active {
    color: #fff !important;
    border-color: #03a9f4 !important;
    background-color: #03a9f4 !important;
}

.scalein-quote-icon {
    width: 16px;
    height: 16px;
    margin-right: 0.35rem;
    vertical-align: -2px;
}



.scalein-result-card {
    border-color: rgba(3, 169, 244, 0.38);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
}

.scalein-plan-scroll {
    overflow: hidden;
    background: rgba(0, 0, 0, 0.12);
}

.scalein-plan-table {
    width: 100%;
    margin-bottom: 0;
}

.scalein-plan-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #252b36;
    border-bottom-width: 1px;
    white-space: nowrap;
}

.scalein-plan-table tbody {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
}

.scalein-plan-table thead,
.scalein-plan-table tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.scalein-plan-table tbody td {
    vertical-align: middle;
    white-space: nowrap;
}

.scalein-plan-amount strong {
    display: block;
    font-weight: 600;
    color: #fff;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.scalein-plan-amount small,
.scalein-plan-qty small {
    display: block;
    margin-top: 0.1rem;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.scalein-plan-qty strong {
    display: block;
    font-weight: 600;
    color: #fff;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.scalein-result-panel {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.scalein-result-item span,
.scalein-average span {
    display: block;
    margin-bottom: 0.35rem;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.75rem;
}

.scalein-result-item strong {
    display: block;
    color: #fff;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
    word-break: break-word;
}

.scalein-average {
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(3, 169, 244, 0.48);
    border-radius: 0.3rem;
    background: linear-gradient(135deg, rgba(3, 169, 244, 0.2), rgba(3, 169, 244, 0.05));
}

.scalein-average strong {
    display: block;
    color: #4fc3f7;
    font-size: 2rem;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.scalein-average small {
    color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 575.98px) {
    .scalein-live-price { align-items: flex-start; flex-direction: column; }
    .scalein-average strong { font-size: 1.65rem; }
}

@media (min-width: 1200px) {
    .scalein-result-panel {
        margin-top: 0;
        padding-top: 0;
        padding-left: 2rem;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.1);
    }
}

.market-interval .btn.active {
    background-color: #03a9f4;
    border-color: #03a9f4;
    color: #fff;
}

#price-table tr.coin-row.table-active {
    background-color: rgba(3, 169, 244, 0.15);
}

#price-table .change-krw,
#price-table .change-usdt,
#price-table .price-premium-diff {
    min-height: 1.1em;
}

/* portfolio holdings — table */
.portfolio-list .table {
    margin-bottom: 0;
    white-space: nowrap;
}

.portfolio-list .cell-amount,
.portfolio-list .cell-avg,
.portfolio-list .cell-value,
.portfolio-list .cell-value-change,
.portfolio-list .cell-price,
.portfolio-list .cell-price-change {
    display: block;
    line-height: 1.35;
    white-space: nowrap;
}

.portfolio-list .cell-avg,
.portfolio-list .cell-value-change,
.portfolio-list .cell-price-change,
.portfolio-list .total-balance-change,
.portfolio-list .total-prev-change {
    font-size: 0.75rem;
}

.portfolio-list tfoot td {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.15);
}

.badge-exchange {
    display: inline-block;
    color: #fff;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 자산 입력기 팝업 (globalElement) */
.asset-inputter-layer {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.asset-inputter-layer.d-none {
    display: none !important;
}

.asset-inputter-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.asset-inputter-host {
    position: relative;
    z-index: 1;
    max-width: 100%;
}

.asset-inputter.w-350 {
    width: 350px;
    max-width: 100%;
    margin: 0;
}

.asset-inputter .ai-keypad td {
    padding: 0.2rem;
}

.asset-inputter .ai-meta {
    overflow: hidden;
    text-overflow: ellipsis;
}

.asset-inputter .ai-field-wrap {
    position: relative;
}

.asset-inputter .ai-field-wrap .form-control {
    padding-right: 5.5rem;
}

.asset-inputter .ai-field-overlay {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    line-height: 1.2;
    font-size: 0.875rem;
}


.asset-inputter .ai-date-picker-btn {
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9aa3b2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 0.25rem;
}
.asset-inputter .ai-date-picker-btn:hover {
    color: #e2e5ea;
    background: rgba(255, 255, 255, 0.06);
}
.asset-inputter input.date-picker {
    padding-right: 2.5rem;
}

/* portfolio history */
.portfolio-history .table {
    margin-bottom: 0;
    white-space: nowrap;
}

.portfolio-history .ph-exchange-badges {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.15rem;
}

.portfolio-history .ph-transfer-arrow {
    margin: 0 0.15rem;
    color: rgba(255, 255, 255, 0.45);
}

.portfolio-history .ph-eval-now,
.portfolio-history .ph-eval-pnl,
.portfolio-history .ph-trade-price,
.portfolio-history .ph-trade-cost {
    display: block;
    line-height: 1.35;
    white-space: nowrap;
}

.portfolio-history .ph-eval-now {

}

.portfolio-history .ph-eval-pnl,
.portfolio-history .ph-trade-cost {
    font-size: 0.75rem;
}

/* 자산 현황 — 코인 집계 + 거래소 스택 바 */
.portfolio-overview-body {
    padding: 0.5rem 0;
}

.portfolio-overview-row {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.portfolio-overview-row:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}

.portfolio-overview-row:last-child {
    border-bottom: 0;
}

.portfolio-overview .po-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.55rem;
}

.portfolio-overview .po-coin {
    display: flex;
    align-items: center;
    min-width: 5rem;
}

.portfolio-overview .po-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 1rem;
    font-size: 0.875rem;
}

.portfolio-overview .po-weight {
    font-weight: 700;
    min-width: 3.5rem;
}

.portfolio-overview .po-bar-track {
    height: 0.7rem;
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.portfolio-overview .po-bar {
    display: flex;
    height: 100%;
    min-width: 0;
    border-radius: 0.35rem;
    overflow: hidden;
    transition: width 0.25s ease;
}

.portfolio-overview .po-seg {
    display: block;
    height: 100%;
    min-width: 2px;
}

.portfolio-overview .po-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    margin-top: 0.45rem;
    font-size: 0.75rem;
}

.portfolio-overview .po-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.portfolio-overview .po-dot {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

.portfolio-overview .po-legend-name {
    font-weight: 600;
}

.portfolio-overview .po-legend-meta {
    white-space: nowrap;
}

.portfolio-chart-wrap {
    position: relative;
}

.portfolio-chart {
    position: relative;
    width: 100%;
    height: 320px;
}

.portfolio-chart-markers {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
}

.portfolio-chart-wrap.is-empty .portfolio-chart,
.portfolio-chart-wrap.is-empty .portfolio-chart-legend,
.portfolio-chart-wrap.is-empty .portfolio-chart-tip {
    display: none;
}

.portfolio-chart-tip {
    position: absolute;
    left: 0.75rem;
    top: 0.5rem;
    z-index: 3;
    pointer-events: none;
    max-width: calc(100% - 4.5rem);
    padding: 0.35rem 0.55rem;
    border-radius: 4px;
    background: rgba(20, 22, 28, 0.78);
    font-variant-numeric: tabular-nums;
    line-height: 1.45;
}

.portfolio-chart-tip .pc-tip-row,
.portfolio-chart-tip .pc-tip-day,
.portfolio-chart-tip .pc-tip-event {
    white-space: nowrap;
}

#portfolio-chart-range {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.portfolio-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
}

.portfolio-chart-legend .pc-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #dee2e6;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}

.portfolio-chart-legend .pc-chip.off {
    opacity: 0.35;
}

.portfolio-chart-legend .pc-dot {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    flex: 0 0 auto;
}

/* Select2 드롭다운 메뉴 스크롤바 스타일링 */
::-webkit-scrollbar {
    width: 5px !important;
}

::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.5) !important;
    /* 트랙 배경색을 약간 어둡게 (반투명) */
}

::-webkit-scrollbar-thumb {
    background: rgba(92, 92, 92, 0.6) !important;
    /* 스크롤바 색상을 어두운 톤으로 (반투명) */

    border-radius: 4px !important;
    /* 스크롤바 모서리 둥글게 */
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(222, 222, 222, 0.4) !important;
    /* 스크롤바 색상을 어두운 톤으로 (반투명) */
}

/* 🔥 코너 부분까지 스타일 지정 */
 ::-webkit-scrollbar-corner {
    background: rgba(0, 0, 0, 1) !important;
    /* 트랙과 같은 색 또는 transparent */
}

/* 모바일 레이아웃: 스크롤은 유지, 스크롤바만 숨김 */
@media (max-width: 767.98px) {
    html,
    body,
    * {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    *::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }
}



.swal2-header {
    padding-top: 15px;
    background-color: rgba(0, 0, 0, 0.20) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2) !important;
}

.swal2-icon {
    margin-top: 35px;
}

.swal2-backdrop-show {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}


.swal2-title {
    color: #fff;
}

.swal2-html-container {
    margin-top: 0px;
    padding: 10px ;
    font-size: 12px ;
    font-family: Galmuri11, sans-serif;
    color: #dddddd;
}


.swal2-actions button {
    min-width: 80px;
    letter-spacing: 1px !important;
}

.shannon-chart-wrap,
.shannon-chart {
    min-height: 260px;
}
.shannon-chart {
    height: 320px;
}
#sh-bt-chart {
    height: 260px;
    min-height: 260px;
}
.sh-bt-weight-chart,
#sh-bt-weight-chart {
    height: 220px;
    min-height: 220px;
}
.sh-bt-panel-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.sh-bt-period {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border: 1px solid rgba(66, 165, 245, 0.35);
    border-radius: 6px;
    background: rgba(66, 165, 245, 0.08);
}

.sh-entry-basis-picker {
    padding: 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 4px;
    background: rgba(0,0,0,.08);
}
.sh-entry-basis-picker .btn {
    white-space: normal;
    padding: 11px 16px;
}
.sh-entry-basis-picker .btn strong,
.sh-entry-basis-picker .btn small {
    display: block;
}
.sh-entry-basis-picker .btn small {
    margin-top: 3px;
    opacity: .75;
}
.sh-entry-summary {
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid rgba(66,165,245,.45);
    border-radius: 4px;
    background: rgba(66,165,245,.08);
}
.sh-entry-summary #sh-entry-total {
    margin-left: 8px;
    font-size: 1.15rem;
}
.sh-entry-derived {
    background: rgba(255,255,255,.035) !important;
    color: rgba(255,255,255,.65) !important;
}
.sh-entry-authoritative {
    border-color: #42a5f5 !important;
    box-shadow: inset 0 0 0 1px rgba(66,165,245,.15);
}
.sh-target-group .input-group-text {
    min-width: 30px;
    justify-content: center;
    padding-left: .45rem;
    padding-right: .45rem;
}
.sh-target-group .input-group-text input {
    margin: 0;
}

@media (max-width: 767.98px) {
    .sh-entry-basis-picker .btn small { display: none; }
    .sh-entry-summary { align-items: flex-start !important; }
}
.sh-bt-period-title {
    color: #90caf9;
    font-size: 12px;
    font-weight: 600;
}
.sh-bt-period-range {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    font-size: 17px;
}
.sh-bt-period-label {
    padding: 3px 7px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.09);
    color: #b7c0cc;
    font-size: 11px;
    font-weight: 400;
}
.sh-bt-period-arrow {
    color: #78909c;
}
.sh-bt-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}
.sh-bt-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(144, 202, 249, 0.3);
    border-radius: 5px;
    background: rgba(144, 202, 249, 0.08);
    color: #e3f2fd;
    font-size: 12px;
}
.sh-bt-meta-item {
    white-space: nowrap;
}
.sh-bt-meta-label {
    margin-right: 4px;
    color: #90a4ae;
    font-size: 11px;
}
.sh-bt-meta-divider {
    color: rgba(255, 255, 255, 0.25);
}
.sh-bt-input-return {
    color: #80cbc4;
    font-weight: 600;
}
@media (max-width: 575.98px) {
    .sh-bt-period {
        align-items: flex-start;
        flex-direction: column;
    }
    .sh-bt-period-range {
        flex-wrap: wrap;
        justify-content: flex-start;
        font-size: 15px;
    }
    .sh-bt-table-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .sh-bt-meta {
        justify-content: flex-start;
    }
}
.sh-bt-trade-tooltip {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    background: rgba(17, 20, 28, 0.92);
    font-size: 12px;
    line-height: 1.55;
}
.sh-bt-tooltip-trade + .sh-bt-tooltip-trade {
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.sh-bt-event-table th,
.sh-bt-event-table td {
    min-width: 100px;
    vertical-align: middle;
}
.sh-bt-event-table th:nth-child(4),
.sh-bt-event-table td:nth-child(4) {
    min-width: 300px;
}
.sh-bt-event-table th:nth-child(5),
.sh-bt-event-table td:nth-child(5) {
    min-width: 280px;
}
.sh-bt-event-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: right;
}
.sh-bt-event-caret {
    font-size: 10px;
    opacity: 0.65;
    transition: transform 0.15s;
}
.sh-bt-event-row.is-open .sh-bt-event-caret {
    transform: rotate(180deg);
}
.sh-bt-event-assets {
    display: none;
    margin-top: 8px;
    text-align: left;
}
.sh-bt-event-row.is-open .sh-bt-event-assets {
    display: block;
}
.sh-bt-event-asset {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0;
}
.sh-bt-event-asset + .sh-bt-event-asset {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.sh-bt-event-asset-name {
    flex: 0 0 auto;
}
.sh-bt-event-asset-nums {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 12px;
    margin-left: auto;
    white-space: nowrap;
}
.sh-bt-event-asset-pct {
    color: #9aa6ff;
    min-width: 58px;
    text-align: right;
}
.sh-bt-event-asset-val {
    color: rgba(255, 255, 255, 0.55);
    min-width: 96px;
    text-align: right;
}
.sh-bt-trade-line + .sh-bt-trade-line {
    margin-top: 4px;
}

/* 비로그인 유도 카드 (include/loginPrompt.php) */
.card.login-prompt-card {
    border-left: 3px solid #03a9f4;
}
.login-prompt-card .login-prompt-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(3, 169, 244, 0.16);
    color: #03a9f4;
    font-size: 1.15rem;
}

/* 오늘 페이지 */
.today-kpi {
    min-height: 188px;
}
.today-sparkline {
    display: block;
    width: 100%;
    height: 56px;
}
.today-spark-grid {
    stroke: rgba(255, 255, 255, 0.08);
    stroke-width: 1;
    stroke-dasharray: 2 3;
}
.today-spark-line {
    fill: none;
    stroke: #29B6F6;
    stroke-width: 2;
}
.today-spark-dot {
    fill: #29B6F6;
    stroke: #1e222d;
    stroke-width: 1;
}
.today-dom-bar {
    height: 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}
.today-dom-bar span {
    display: block;
    height: 100%;
    width: 0;
    background: #03a9f4;
    transition: width 0.4s ease;
}
.today-ls-bar-long span {
    background: #ef5350;
}
.today-ls-bar-short span {
    background: #42a5f5;
}
.today-usdt-bar span {
    background: #26a17b;
}
.today-fng-tick {
    fill: rgba(255, 255, 255, 0.45);
    font-size: 9px;
}
.today-fng-needle {
    fill: #eceff1;
}
.today-fng-hub {
    fill: #eceff1;
}
.today-weather-icon-sm {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(3, 169, 244, 0.14);
    color: #29B6F6;
    font-size: 0.95rem;
}
.today-header-weather {
    font-size: 0.875rem;
}
.today-quote p {
    font-size: 1.05rem;
    line-height: 1.55;
}


