/* ========================================
   WIDGET - Visitor Statistics (1열 그리드 카드형)
======================================== */
.visitchart-widget {position:relative; padding:15px; border-radius:10px; background:var(--layout-white); border:1px solid var(--board-gray-300); box-sizing:border-box;}
.visitchart-widget .widget-period {position:absolute; top:8px; right:15px; padding:3px 10px; border-radius:15px; background:var(--layout-gray-100); color:var(--layout-gray-600); font-size:11px; z-index:1;}

.visitchart-widget .visitInfo {margin-top:10px;}

/* 1열 그리드: 통계 항목을 세로로 한 줄씩, 각 줄은 아이콘/라벨/값 3칸 그리드 */
.visitchart-widget .visitStatsList {display:grid; grid-template-columns:1fr; gap:0;}

.visitchart-widget .statRow {display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; padding:8px 0; min-width:0;}
.visitchart-widget .statRow + .statRow {border-top:1px dashed var(--layout-sidebar-border-dashed);}

.visitchart-widget .statIconChip {
    position:relative;
    width:28px; height:28px;
    border-radius:8px;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    background:color-mix(in srgb, var(--color-prime) 16%, transparent);
}
.visitchart-widget .statIconVideo {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
}
.visitchart-widget .statIconFallback {
    position:relative;
    font-size:14px;
    color:var(--color-prime);
}

.visitchart-widget .statLabel {min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--layout-gray-600); font-size:12px; font-weight:500;}

.visitchart-widget .statValueRow {display:flex; align-items:center; justify-content:flex-end; gap:5px;}
.visitchart-widget .statValue {color:var(--layout-gray-900); font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap;}
